ListFragment no muestra cambios en el tiempo actual
¡Todas! Soy nuevo en la aplicación Android. Ahora tengo un problema. No puedo ver el resultado de cambiar la lista de inmediato (después de actualizar listView en mi ListFragment). Por ejemplo, llamé al método addNewItem y no vi ningún cambio en la pantalla. Pero si toco ListFragment veré todos mis cambios.
ListFragment:
- Lista sin fin de Android
- Android - Inflando ListView
- Android: el diálogo personalizado tarda demasiado tiempo en abrirse
- Android: ¿Cómo poner un archivo de imagen de la tarjeta SD a HashMap con simpleadapter?
- Obtener nombres de archivo desde un directorio en Android
public class PointsListFragment extends ListFragment { PlaceItemsAdapter adapter; @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); adapter = new PlaceItemsAdapter( getActivity(), R.layout.place_list_item, new ArrayList<PlaceItem>()); setListAdapter(adapter); adapter.notifyDataSetChanged(); } public void addNewItem(int id, String address) { adapter.items.add(new PlaceItem(id, address)); adapter.notifyDataSetChanged(); } private class PlaceItemsAdapter extends ArrayAdapter<PlaceItem> { private final int viewResourceId; final public ArrayList<PlaceItem> items; @Override public int getCount() { return items.size(); } @Nullable @Override public PlaceItem getItem(int position) { return items.get(position); } public PlaceItemsAdapter(Context context, int viewResourceId, ArrayList<PlaceItem> items) { super(context, viewResourceId, items); this.items = items; this.viewResourceId = viewResourceId; } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(viewResourceId, null); } PlaceItem placeItem = getItem(position); TextView placeIdTextView = (TextView) v.findViewById(R.id.placeId); placeIdTextView.setText(String.valueOf(placeItem.getId())); TextView placeAddressView = (TextView) v.findViewById(R.id.placeAddress); placeAddressView.setText(placeItem.getAddress()); if (selectedValue == position) { v.setBackgroundResource(R.drawable.active_item); } return v; } } }
Mi actividad xml
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"[enter image description here][1] android:padding="2dp"> > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:background="@color/forBorder" android:orientation="horizontal"> <Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/spinner" android:layout_weight="1" /> <TextView android:text="проложить маршрут" android:textColor="@android:color/white" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:drawable/ic_media_ff" /> </LinearLayout> <fragment class="com.restfulrobot.cdcapplication.PointsListFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/list_frag" /> </LinearLayout>
Ejemplo de imagen
- Android: ¿Cómo mostrar imágenes desde un ListView?
- Usando limit () y offset () en QueryBuilder (ANDROID, ORMLITE)
- ListVIew en Google Glass
- Android: diseño de vista personalizada para SectionIndexer e inhabilitación de SectionIndexer sobre la marcha
- Evitar que una aplicación se muestre en la lista de aplicaciones recientes en android kitkat 4.4.2
- ¿Ordenar nombres en una lista alfabéticamente?
- Cómo borrar caché de Android
- Android: patrón de ViewHolder y diferentes tipos de filas?
¡Gracias a todos! ¡Encontré la respuesta! Llamé el método de otra clase (ninguna actividad o fragmento). Y ahora también llamo método de otra clase, pero lo hago a través de Handler. Y realmente funciona bien ahora! Algo como eso:
Message msg = mainActivityHandler.obtainMessage(MainActivity.NEW_MESSAGE, someObjectToAdd); mainActivityHandler.sendMessage(msg);
- Android EditText rezagado al escribir texto
- ¿Plataforma para desarrollar todo el google de las cosas?