Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Lista de visualización de Android usando expandibleListView

He seguido este tutorial de ejemplo y desarrollado una aplicación de ejemplo http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/

Introduzca aquí la descripción de la imagen

  • Capturar el tráfico del teléfono móvil en wireshark
  • Cómo enviar caracteres unicode en un HttpPost en Android
  • Prueba de RxBinding RxSearchView
  • ¿Cómo agregar un simple encabezado 8dp / pie de página a RecyclerView de Android?
  • Android - ¿Cómo comprobar el acceso a Internet, no sólo la conectividad a wifi?
  • Cómo establecer el divisor entre tabuladores en TabLayout de la biblioteca de soporte de diseño?
  • Si hago clic en Core quiero cargar una lista más en la misma pantalla en Core , ¿Cómo puedo hacer esto? Utilizando mi código abajo puedo cargar la lista de niños en otra pantalla, ayuda?

    Mi código para ChildClickListener va aquí:

    @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { // TODO Auto-generated method stub Log.d("onChildClick", "onChildClick"); String position = (String) parentItems.get(groupPosition); Log.d("position", position); String child = listDataChild.get(position).get(childPosition); Log.d("child", child); if (child.equalsIgnoreCase("Core")) { ArrayList<String> parentItems = new ArrayList<String>(); HashMap<String, List<String>> listDataChild = new HashMap<String, List<String>>(); ArrayList<String> childItems = new ArrayList<String>(); childItems.add("corejava"); childItems.add("corejava"); childItems.add("corejava"); childItems.add("corejava"); parentItems.add(position); listDataChild.put(parentItems.get(0), childItems); expandableList = (ExpandableListView) findViewById(R.id.lvExp); CoreAdapter adapter = new CoreAdapter(parentItems, listDataChild); CustExpListview SecondLevelexplv = new CustExpListview( MainActivity.this); adapter.setInflater( (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE), MainActivity.this); SecondLevelexplv.setAdapter(adapter); SecondLevelexplv.setGroupIndicator(null); expandableList.setAdapter(adapter); } 

  • ¿Cómo puedo usar Tensorflow con react-native?
  • Activar o desactivar dinámicamente un widget no funciona
  • Conozca los dispositivos internos de Android (profundice en el sistema)
  • Cómo mostrar el icono de apk en mi Administrador de archivos
  • Botón redondeado en Android
  • Relación uno-a-muchos en ORMLite Android
  • 4 Solutions collect form web for “Lista de visualización de Android usando expandibleListView”

    Creo que necesitas usar listview expandible anidado para eso. Así que este enlace puede proporcionarte alguna ayuda. Así que utilice este.

    http://www.allappsdevelopers.com/TopicDetail.aspx?TopicID=c991d70a-4570-4e4b-8378-2191a4247a84

    Yo escribo un treeView adaptador para usted, usted puede utilizar esto y poner mucho nivel como usted quiere, para eso usted necesita apenas copiar el código siguiente:

    Actividad principal:

     public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // add data for test on one list<AccountHierarchical> AccountHierarchical obj = new AccountHierarchical(); obj.setLevelId(1); obj.setTitle("level 1"); AccountHierarchical obj2 = new AccountHierarchical(); obj2.setLevelId(1); obj2.setTitle("level 2"); AccountHierarchical obj3 = new AccountHierarchical(); obj3.setLevelId(1); obj3.setTitle("level 3"); List<AccountHierarchical> emptyList = new ArrayList<AccountHierarchical>(); obj3.setList(emptyList); List<AccountHierarchical> list2 = new ArrayList<AccountHierarchical>(); list2.add(obj3);list2.add(obj3);list2.add(obj3);list2.add(obj3);list2.add(obj3); obj2.setList(list2); List<AccountHierarchical> list = new ArrayList<AccountHierarchical>(); list.add(obj2);list.add(obj2);list.add(obj2);list.add(obj2);list.add(obj2); obj.setList(list); List<AccountHierarchical> result = new ArrayList<AccountHierarchical>(); result.add(obj);result.add(obj);result.add(obj);result.add(obj); // create Adapter TreeView adapter = new TreeView(result, this, getLayoutInflater() , false, 0); ExpandableListView expandList = (ExpandableListView)findViewById(R.id.expandableList_tree); expandList.setGroupIndicator(null); expandList.setAdapter(adapter); } 

    CustExpListview:

     public class CustExpListview extends ExpandableListView { int intGroupPosition, intChildPosition, intGroupid; public CustExpListview(Context context) { super(context); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // widthMeasureSpec = MeasureSpec.makeMeasureSpec(400, // MeasureSpec.AT_MOST); heightMeasureSpec = MeasureSpec.makeMeasureSpec(600, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } } 

    AccountHierarchical:

     public class AccountHierarchical { List<AccountHierarchical> list; private String Title; private int Id; public int getId() { return Id; } public void setLevelId(int Id) { this.Id = Id; } public String getTitle() { return Title; } public void setTitle(String title) { Title = title; } public List<AccountHierarchical> getList() { return list; } public void setList(List<AccountHierarchical> list) { this.list = list; } } 

    Vista de árbol:

     public class TreeView extends BaseExpandableListAdapter implements OnClickListener { List<AccountHierarchical> list; LayoutInflater inflatter; static Context context; boolean checkGroup; int position; static ProgressDialog ProgressDialog; public TreeView( List<AccountHierarchical> list, Context context, LayoutInflater inflatter, boolean checkGroup, int position ) { this.list = list; TreeView.context = context; this.inflatter = inflatter; this.checkGroup = checkGroup; // this is true when you call from inner. this.position = position; } @Override public Object getChild(int groupPosition, int childPosition) { return list.get(groupPosition).getList().get(childPosition); } @Override public long getChildId(int groupPosition, int childPosition) { return list.get(groupPosition).getList().get(childPosition).getId(); } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { if (checkGroup) groupPosition = position; List<AccountHierarchical> childtemp = list.get(groupPosition) .getList(); // call this adapter again for creating another level if (childtemp.get(childPosition).getList().size() > 0) { CustExpListview SecondLevelexplv = new CustExpListview(context); TreeView adapter = null; adapter = new TreeView(childtemp, context, inflatter, true, childPosition); SecondLevelexplv.setGroupIndicator(null); SecondLevelexplv.setAdapter(adapter); return SecondLevelexplv; } // call one layout, this is last child else { convertView = inflatter.inflate(R.layout.grouprow, null); TextView tv = (TextView) convertView.findViewById(R.id.grouprow); tv.setText(list.get(groupPosition).getList().get(childPosition) .getTitle()); tv.setPadding(0, 0, 20, 0); convertView.setTag(list.get(groupPosition).getList() .get(childPosition) ); convertView.setId(position); convertView.setOnClickListener(this); return convertView; } } @Override public int getChildrenCount(int groupPosition) { return list.get(groupPosition).getList().size(); } @Override public Object getGroup(int groupPosition) { return list.get(groupPosition); } @Override public int getGroupCount() { if (checkGroup) return 1; return list.size(); } @Override public long getGroupId(int groupPosition) { return list.get(groupPosition).getId(); } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { if (convertView == null) convertView = inflatter.inflate(R.layout.grouprow, null); TextView tv = (TextView) convertView.findViewById(R.id.grouprow); if (checkGroup) tv.setText(list.get(position).getTitle()); else tv.setText(list.get(groupPosition).getTitle()); return convertView; } @Override public boolean hasStableIds() { return false; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return false; } @Override public void onClick(View v) { // your onClick method } } 

    Activity_main.xml:

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ExpandableListView android:id="@+id/expandableList_tree" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" > </ExpandableListView> </RelativeLayout> 

    Grouprow.xml:

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/grouprow" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginBottom="20dp" android:layout_marginRight="20dp" android:layout_marginTop="20dp" android:text=""/> </RelativeLayout> 

    chasquido:

    Introduzca aquí la descripción de la imagen

    Usted tiene que crear una disposición en el archivo del xml (de donde viene su textview de la base) y exhibir una visión de la imagen debajo de onClick de esa imagenView que usted apenas tendrá que hacer su disposición Gone y Visible Acabo de darle la dirección el resto confía en su Habilidad

      <RelativeLayout android:id="@+id/option" android:layout_width="fill_parent" android:layout_height="40dp" android:gravity="center" android:orientation="horizontal" > </RelativeLayout> <RelativeLayout android:id="@+id/linear" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:orientation="horizontal" > <ImageView android:id="@+id/navigationIcon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:src="@drawable/nn" /> <ImageView android:id="@+id/callOption" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/phonee" /> <ImageView android:id="@+id/imageViewfeedback" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:src="@drawable/editer" /> </RelativeLayout> 

    En Archivo Jave

     linear.setVisibility(View.GONE); option.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { if(count==0) { linear.setVisibility(View.VISIBLE); count=1; } else { linear.setVisibility(View.GONE); count=0; } } }); 

    Necesita cambiar a Tres niveles de ListView expandible que contiene el sub-hijo dentro de child.

    También echa un vistazo a ExpandableListView con 3 Childs

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.