Я делаю свое первое приложение для Android, проект для моего университета. Теперь я последовал за this guide, чтобы создать расширяемый список, но теперь я хочу иметь его в собственном фрагменте, чтобы он выглядел более или менее.Помещение ExpandableListView в фрагмент - Android
Может ли кто-нибудь помочь мне с этим? Я довольно неопытен с Android tbh, поэтому я ценю любую помощь, которую я могу получить!
Отрывок из руководства:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
List<Map<String, String>> groupData = new ArrayList<Map<String, String>>();
List<List<Map<String, String>>> childData = new ArrayList<List<Map<String, String>>>();
/* ******************** Start Group ********************* */
Map<String, String> curgroupMap1 = new HashMap<String, String>();
groupData.add(curgroupMap1);
curgroupMap1.put("parent", "Master 1");
List<Map<String,String>> children1 =new ArrayList<Map<String,String>>();
/* *** ChildData ***/
Map<String, String> curChildMap1 = new HashMap<String, String>();
children1.add(curChildMap1);
curChildMap1.put("child", "Bank");
/* *** ChildData ***/
Map<String, String> curChildMap2 = new HashMap<String, String>();
children1.add(curChildMap2);
curChildMap2.put("child", "Executive");
/* *** ChildData ***/
Map<String, String> curChildMap3 = new HashMap<String, String>();
children1.add(curChildMap3);
curChildMap3.put("child", "Customer");
/* ***ChildData ***/
Map<String, String> curChildMap4 = new HashMap<String, String>();
children1.add(curChildMap4);
curChildMap4.put("child", "State");
/* ***ChildData ***/
Map<String, String> curChildMap5 = new HashMap<String, String>();
children1.add(curChildMap5);
curChildMap5.put("child", "City");
childData.add(children1);
/* *************************End Group **************************/
/* ******************** Start Group ********************* */
Map<String, String> curgroupMap2 = new HashMap<String, String>();
groupData.add(curgroupMap2);
curgroupMap2.put("parent", "Master 2");
List<Map<String,String>> children2 =new ArrayList<Map<String,String>>();
/* *** ChildData ***/
Map<String, String> curChildMap6 = new HashMap<String, String>();
children2.add(curChildMap6);
curChildMap6.put("child", "Android");
/* *** ChildData ***/
Map<String, String> curChildMap7 = new HashMap<String, String>();
children2.add(curChildMap7);
curChildMap7.put("child", "iPhone");
/* *** ChildData ***/
Map<String, String> curChildMap8 = new HashMap<String, String>();
children2.add(curChildMap8);
curChildMap8.put("child", "Windows");
childData.add(children2);
/* *************************End Group **************************/
mAdapter = new SimpleExpandableListAdapter(
this,
groupData,
android.R.layout.simple_expandable_list_item_1,
new String[] { "parent" },
new int[] { android.R.id.text1, android.R.id.text2 },
childData,
android.R.layout.simple_expandable_list_item_2,
new String[] {"child"},
new int[] { android.R.id.text1 }
);
setListAdapter(mAdapter);
expand = getExpandableListView();
expand.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
// TODO Auto-generated method stub
switch (groupPosition)
{
case 0 :
switch(childPosition)
{
case 0 :
Toast.makeText(getBaseContext(), "Bank",
Toast.LENGTH_SHORT).show();
break;
case 1:
Toast.makeText(getBaseContext(), "Executive",
Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(getBaseContext(), "Customer",
Toast.LENGTH_SHORT).show();
break;
case 3 :
Toast.makeText(getBaseContext(), "State",
Toast.LENGTH_SHORT).show();
break;
case 4 :
Toast.makeText(getBaseContext(), "City",
Toast.LENGTH_SHORT).show();
break;
}
break;
case 1:
switch(childPosition)
{
case 0 :
Toast.makeText(getBaseContext(), "Android",
Toast.LENGTH_SHORT).show();
break;
case 1:
Toast.makeText(getBaseContext(), "iPhone",
Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(getBaseContext(), "Windows",
Toast.LENGTH_SHORT).show();
break;
}
break;
}
return false;
}
});
почему вы думаете, что * вам нужен фрагмент * ?? это просто дизайн, который вам нужно выполнить .. –
Ну, мне бы очень хотелось сделать это, так как у меня уже есть макет проекта и, как правило, придерживайтесь грубого дизайна. Если есть более простой способ, дайте мне знать! – Deathsservant
Нет необходимости в изменении кода Java. ** Все, что вам нужно, это XML для разработки такого макета. ** –