Cargar contenido en un Fragment

La aplicación se carga de forma correcta pero pasa por alto una modificación en el código. Trato de cambiar una imagen cargada desde un recurso pero no surte efecto alguno al ejecutarse.

Instancio una View donde cargo la vista del Fragment y su contenido, instancio el widget que quiero cambiar (ImageView) y lo modifico como se muestra acontinuacion pero al ejecutar el espacio asignado queda en blanco.

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,                          Bundle savedInstanceState) {     // Inflate the layout for this fragment     View root_view = inflater.inflate(R.layout.fragment_user_tab, container, false);     ImageView imageView = root_view.findViewById(R.id.user_image_view);     imageView.setImageDrawable(getResources().getDrawable(R.drawable.pet_not_found_en));     return inflater.inflate(R.layout.fragment_user_tab, container, false); } 

espacio en blanco donde se debería cargar el recurso gráfico

OBTENER CONTENIDO DE UN TextBox AGREGADO EN UN TabControl -> TabPage

Buen día, aquí con una consulta, estoy realizando un programa donde se muestra un menú con las opciones nueva pestaña, cargar archivo y guardar archivo.

Al presionar nueva pestaña es posible crear una nueva pestaña como editor de texto (usando TabControl -> TabPage -> textBox), esto se puede realizar n veces.

Al presionar Cargar Archivo es posible cargar un archivo desde cualquier ruta de la computadora, a nuestra pestaña actual

Al presionar Guardar Archivo es posible guardar la información de la pestaña actual en cualquier ruta dentro de la computadora.

Mi DUDA ES: como puedo acceder al textBox para guardar el contenido de la pestaña actual. El código que he realizo es este: en una clase tengo:

class AreaDeTrabajo     {         ArrayList listaPestanya;         TabControl contenedor;         TabPage nuevaPestanya;         TextBox nuevoAreaTexto;          public AreaDeTrabajo()         {             listaPestanya = new ArrayList();             contenedor = new TabControl();             nuevaPestanya = new TabPage();             nuevoAreaTexto = new TextBox();             inicializar();         }          public void inicializar()         {             nuevoAreaTexto.AcceptsReturn = true;             nuevoAreaTexto.AcceptsTab = true;             nuevoAreaTexto.Dock = System.Windows.Forms.DockStyle.Fill;             nuevoAreaTexto.Multiline = true;             nuevoAreaTexto.ScrollBars = System.Windows.Forms.ScrollBars.Both;         }          public void crearPestanya(TabControl contenedor, int conteo)         {             nuevaPestanya.Text = "TAB " + conteo;             listaPestanya.Add(nuevaPestanya);             contenedor.TabPages.Add(nuevaPestanya);             contenedor.SelectedTab = nuevaPestanya;             nuevaPestanya.Controls.Add(nuevoAreaTexto);         }          public string infoDeAreaDeTexto(TabControl contenedor)         {             nuevaPestanya = contenedor.SelectedTab;              //??????????             return nuevoAreaTexto.Text;         }          //public string MessageText         //{         //    get { return this.nuevoAreaTexto.Text; }         //    set { this.nuevoAreaTexto.Text = value; }         //}          public void cargaDeArchivo(TabControl contenedor, string leer)         {             nuevaPestanya = contenedor.SelectedTab;             nuevaPestanya.Controls.Clear();             nuevoAreaTexto.Text = leer;             nuevaPestanya.Controls.Add(nuevoAreaTexto);         }      }  

Y en el Form tengo esto..

 public partial class Planificador : Form     {         ArrayList listPestanya = new ArrayList();         ArrayList datosAguardar = new ArrayList();         int contP = 1;           public Planificador()         {             InitializeComponent();             this.CenterToScreen();         }          private void DateTimePicker1_ValueChanged(object sender, EventArgs e)         {          }          private void NuevaToolStripMenuItem_Click(object sender, EventArgs e) // NUEVA PESTANYA          {              AreaDeTrabajo miArea = new AreaDeTrabajo();             miArea.crearPestanya(tabView, contP);             contP++;         }          private void CargarArchivoToolStripMenuItem_Click(object sender, EventArgs e) // CARGAR ARCHIVO         {             try             {                 OpenFileDialog openFile = new OpenFileDialog();                 openFile.Filter = "Archivo LY (*.ly)|*.ly";                 openFile.Title = "Abrir";                  if (openFile.ShowDialog() == DialogResult.OK)                 {                     string leer = File.ReadAllText(openFile.FileName);                     AreaDeTrabajo abrirDoc = new AreaDeTrabajo();                     abrirDoc.cargaDeArchivo(tabView, leer);                     Console.WriteLine("proceso finalizado ");                 }                 openFile.Dispose();              }             catch (Exception)             {                 MessageBox.Show("crear una pestanya ff");                 Console.WriteLine("crear una pestanya x)");             }         }          private void GuardarArchivoToolStripMenuItem_Click(object sender, EventArgs e) // GUARDAR ARCHIVO         {             try             {                 SaveFileDialog guardarArchivo = new SaveFileDialog();                 guardarArchivo.Filter = "Archivo LY (*.ly)|*.ly";                 guardarArchivo.Title = "Guardar";                  if (guardarArchivo.ShowDialog() == DialogResult.OK)                 {                     if (File.Exists(guardarArchivo.FileName))                     {                         TabPage current_tab = tabView.SelectedTab;                         string txt = guardarArchivo.FileName;                          StreamWriter textoaGuardar = File.CreateText(txt);                         textoaGuardar.Write(current_tab.Container); // aqui ??? que coloco                           Console.WriteLine(current_tab.Container);                         textoaGuardar.Flush();                         textoaGuardar.Close();                         Console.WriteLine(txt);                         MessageBox.Show("ARCHIVO GUARDADO EXITOSAMENTE");                     }                     else                     {                         string txt = guardarArchivo.FileName;                         StreamWriter textoaGuardar = File.CreateText(txt);                          AreaDeTrabajo miTexto = new AreaDeTrabajo();                          string info = "como obtengo la informacion";//miTexto.MessageText;                          textoaGuardar.Write(info); // para el doc nuevo.                         Console.WriteLine("esto es lo que guardo?? " + info);                          textoaGuardar.Flush();                         textoaGuardar.Close();                         Console.WriteLine(txt);                         MessageBox.Show("ARCHIVO GUARDADO EXITOSAMENTE");                     }                 }                 guardarArchivo.Dispose();             }             catch (Exception ex)             {                 MessageBox.Show("error al gurdar " + ex.Message);                 Console.WriteLine("error al guardar nooo " + ex.Message);             }         } 

AGRADECERÍA SU APOYO

Mostrar contenido HTML dentro de un Json

Queria realizar una consulta en JSON y que devolviera una estructura en HTML. El problema esta que cuando voy a visualizarlo desde el navegador, me imprime por pantalla el texto del JSON en un H2. Y claro, me gustaria que me devolviera el json con la estructura. Supongo que habra que escapar alguna barra y algo más, pero no consigo que funcione correctamente y se muestre tal cual el JSON por el navegador.

Mi jSON

{   "Mipalabra":"<h2>Hola Mundo</h2>" } 

Lo he intentado escapar añadiendole una barra invertida, pero sigue mostrando el H2 como si fuera un HTML y no un jSON

 {   "Mipalabra":"<h2>Hola Mundo<\/h2>" } 

¿Cómo puedo traer el contenido de un html/php que se encuentra en otro archivo?

Estoy desarrollando una pagina web y quiero hacer una header que va a quedar en varias de las paginas de la web, pero no sé que método podría usar y que sea efectivo, yo intente hacerlo con un include, pero me salta el siguiente error:

Warning: include(\Jomar\users_control\views\header\header.html): failed to open stream: No such file or directory in C:\xampp\htdocs\Jomar\users_control\views\control_asistencia\index.php on line 180

Warning: include(): Failed opening ‘\Jomar\users_control\views\header\header.html’ for inclusion (include_path=’C:\xampp\php\PEAR’) in C:\xampp\htdocs\Jomar\users_control\views\control_asistencia\index.php on line 180

Así que, si alguien tiene un método más eficiente para hacer lo que quiero, o alguna forma de arreglar mi problema, por favor ayúdenme.

Mostrar contenido de un objeto Vuejs

** Sugerir un mejor titulo si es necesario ** Estoy trabajando en Vue, quiero lograr mostrar un contenido, solo si este tiene el mismo valor que un array

Tengo dos arrays, uno llamado “typesArticle” y otro array llamado articles con varios objetos, de la siguiente forma:

typesArticle: ['Handguns', 'Assault Rifles', 'Sub-Fusil', 'Snipers', 'Shotguns'],         articles: [{                 name: 'AEK-971',                 type: 'Assault Rifles',                 typeAmmon: 5.56,                 firerate: 900             },             {                 name: 'MP5',                 type: 'Sub-Fusil',                 typeAmmon: 9,                 firerate: 700             }, {                 name: 'Glock 18C',                 type: 'Handguns',                 typeAmmon: 9,                 firerate: 1100             }, {                 name: 'Barret .50',                 type: 'Snipers',                 typeAmmon: .50,                 firerate: 'Semi-Automatico'             }, {                 name: 'Saiga 12K',                 type: 'Shotguns',                 typeAmmon: .12,                 firerate: 'Semi-automatico'             }         ] 

En mi html tengo de esta forma una estructura:

<h2>Assault Rifles</h2>     <p>{{Solo Rifles}}</p>  <br> <h2>Handguns</h2>     <p>{{Solo pistolas}}</p> 

Lo que quiero lograr, realizar una condicion supongo que debe lograrse perfectamente desde la directiva v-if Que lo que debe hacer, es recibir cada articulo y verificar que la propiedad type del objeto se encuentre en el array de type, y asi imprimirlo donde corresponde

como extraer contenido de un blob en php

me gustaría extraer o abrir el archivo que guarde en mi base de datos, soy nuevo manejando ‘blob’ en mysql. lo que intento es lo siguiente mediante este codigo me gustaría abrir o de alguna forma crear un link a ese archivo creado ( mostrando el contenido ) es por eso que tengo una parte de codigo html. espero explicarme de buena manera.

 <?php        include('conexion.php');         $  sql="SELECT * FROM tics";          $  resul=$  link->query($  sql);               ?>                  <?php while($  fila=$  resul->fetch_assoc()):                   $  t=$  fila['tit'];                 $  c=$  fila['con'];                 $  a=$  fila['arch'];                    ?>                    <div class="card-body">            <a href=" <?= $  a;?>   ">  <h2 class="card-title"> <?= $  t;?>                </h2>               <p>                   <?= $  c; ?> </p> </a>                 <div class="card-footer text-muted">                     Posted on January 1, 2017 by                     <a href="#">Start Bootstrap</a>                 </div>             </div>                <?php endwhile; ?> 

¿Cómo hacer que un elemento espere a desplegar su contenido tras ser actualizado con una consulta?

Me encuentro con el siguiente problema:
Tengo un elemento <select> que debe de mostrar una lista de comentarios que contiene un item en la base de datos. Un evento click realiza una consulta en la base de datos y actualiza el contenido del elemento <select>, pero despliega la lista antes de que el contenido se actualice y debo de realizar un segundo click para que ya muestre el contenido actualizado.

Lo que quisiera es que la lista se desplegase actualizada desde el primer click.

Tengo lo siguiente…

El elemento <select> dentro de la vista.

    <select class="custom-select" name="read-selector-comment" id="read-selector-comment" data-userid="{{_id}}">       <option selected>Selecciona comentario del menú</option>     </select>  

Los siguientes listeners se activan tras cargar la página

  // Eventos que controlan la selección y visión de comentarios   const $  UserCommentsSelectorTab = document.getElementById(     'read-selector-comment',   );   if ($  UserCommentsSelectorTab) {     // Actualiza items de la lista a cada click     $  UserCommentsSelectorTab.addEventListener('click', refreshCommentsList);     // Mustra contenido selecionado     $  UserCommentsSelectorTab.addEventListener('change', viewComment);   }  

Un evento click sobre el elemento ejecuta la siguiente función que realiza una búsqueda en la base de datos y con el resultado introduce los elementos <option> en <select>

async function refreshCommentsList(event) {   const $  commentList = event.currentTarget;   // Solicitando actualizacion de datos al servidor.   const r = await fetch(`/user/comments/$  {$  commentList.dataset.userid}`, {     headers: new Headers(),     method: 'POST',   });    if (r.ok) {     const resp = await r.json();     let template = '<option selected>Selecciona comentario del menú</option>';      // Generando plantilla actualizada para el selector de comentarios     resp.forEach((element) => {       template += `<option name="comment-selected" value='{"text": "$  {element.text}",       "tags": "$  {element.tags}",       "user": "$  {element.user}",       "date": "$  {pretiffyDate(element.date)}"       }'"> $  {pretiffyDate(element.date)} - $  {element.user}}</option>`;     });      // Añade los elementos actualizados     $  commentList.innerHTML = template;   } else {     swal('Error', 'Error al actualizar comentarios', 'error');   } }  

El evento change sobre el elemento <select> actualiza otros elementos de la vista mostrando la información.

/** Muestra el comentario seleccionado */ function viewComment(event) {   const $  title_box = document.getElementById('comment-title');   const $  text_box = document.getElementById('text-comment-box');   const $  tags_box = document.getElementById('tags-comment-box');    const comment = JSON.parse(event.currentTarget.value);    // Título   $  title_box.innerText = `$  {comment.date} - $  {comment.user}`;    // Texto   $  text_box.innerText = comment.text;    // Tags   const tags = comment.tags.split(',');   let tagsTemplate = '';   tags.forEach((element) => {     tagsTemplate += `<span class="badge badge-success m-2">$  {element}</span>  `;   });   $  tags_box.innerHTML = tagsTemplate; }  

Añadir datos a csv sin sobreescribir el contenido previo

estoy intentando comprender el manejo de archivos csv mediante pandas.

La cosa es que quiero ir creando un archivo al cual cada vez se le irá añadiendo más información.

Lo primero que hago es comprobar si existe o no el fichero .csv. Si no existe lo creo y le guardo la información deseada. (Hasta aquí creo que lo hago bien)

Mi problema viene en el segundo caso, en el else. ¿Cómo hago para añadir nuevos datos al csv? Por ahora solo consigo sobreescribirlo, y yo lo que quiero es que esté toda la info previa, más la nueva.

Se me ha ocurrido (pero no me termina de salir) leer todo data.csv, guardar su contenido en una lista, guardar el nombre las columnas también, y finalmente reescribir todo el fichero de nuevo. Pero imagino tiene que haber algo más eficiente que esto, pues si el archivo es de 3 filas no pasa nada, pero cómo tenga un millón…

import os import pandas as pd   # *********************************************** DATOS POR SI NO EXISTE ARCHIVO data1 = [['Miguel', 2018, 'Visión art.', 9.5],         ['Natalia', 2019, 'Data Science', 8],         ['Severino', 2019, 'Raspberry', 7],         ['Magnolia', 2015, 'Intel. art.', 9.8]] columnas = ['Nombre', 'Año', 'Asignatura', 'Nota final'] df1 = pd.DataFrame(data1, columns=columnas)  # *********************************************** DATOS POR SI SI EXISTE. AÑADIR DATOS data2 = [['Nau', 2017, 'Face Detec', 5],         ['Uan', 2016, 'Control', 8.2]] # ***********************************************    if not os.path.isfile('data/data.csv'):     df1.to_csv(r'data/data.csv', index=None, header=True)  else:     data = pd.read_csv('data/data.csv')     print(pd.DataFrame(data)) 

Nota: Los datos que hay allí están para hacer las pruebas para ambos casos mientras entiendo como funciona.

Comparar dos array y mostrar el contenido de ambos en php

Amigos estoy en un pequeño problema que es de parte de mi lógica que no e logrado dar solución, es un problema pequeño pero ya llevo un rato probando de todo y no e podido solucionar, verán tengo dos lista que me trae de base de datos, una contiene unos 11 elementos y otra apenas unos 5, la lista mas pequeña tiene los elementos seleccionados de la mas grande, la cuestión es mostrar de la lista mas grande los elementos seleccionados y los que no estan.

Tengo esto hasta el momento introducir la descripción de la imagen aquí

La cuestion es que de esta forma me repite la cantidad de categoría en base a la cantidad de la lista mas pequeña, es decir si la lista mas pequeña tiene unos 5 elementos las categoría se repiten 5 veces

introducir la descripción de la imagen aquí

Como podría solucionar este pequeño inconveniente.

ionic no muestra contenido

Hola recientemente comencé a aprender javascript, junto con ionic les comento mi problema al poner codigo en el constructor no me muestra contenido mejor dicho de ja de mostrar el contenido trataba de realizar una app tipo linterna y me encuestro con este inconveniente que me deja la pantalla en blanco al colocar constructor( public flash : Flashlight) en el constructor.

este es mi archivo home.page.ts

import { Component } from '@angular/core'; import { Flashlight } from '@ionic-native/flashlight/ngx';  @Component({   selector: 'app-home',   templateUrl: 'home.page.html',   styleUrls: ['home.page.scss'], }) export class HomePage {    constructor( public flash : Flashlight){    }    switchFlash(evento){     let power = evento.target.checked;      if (power) {       this.flash.switchOn();     } else {       this.flash.switchOff();     }   }  } 

y este el de home.page.html

    <ion-header>     <ion-toolbar>       <ion-title>         Ionic Blank       </ion-title>     </ion-toolbar>   </ion-header>    <ion-content padding>     <label>     <input type="checkbox" (change)="switchFlash($  event)"/>     <div>       <span class="on">On</span>       <span class="off">Off</span>     </div>       <i></i>   </label>    </ion-content>