【发布时间】:2016-08-10 02:30:24
【问题描述】:
我正在尝试使用 onclicklistener 将值通过列表视图传递给另一个活动的列表视图。我遇到了严重的问题,无法弄清楚如何正确处理。
下面是我的代码,上面有主要的可扩展列表视图:
public class Menu extends AppCompatActivity {
ExpandableListAdapter listAdapter;
ExpandableListView expListView;
List<String> listDataHeader;
HashMap<String, List<String>> listDataChild;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
// get the listview
expListView = (ExpandableListView) findViewById(R.id.lvExp);
// preparing list data
prepareListData();
listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild);
// setting list adapter
expListView.setAdapter(listAdapter);
}
//Preparing the list data
private void prepareListData() {
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String, List<String>>();
// Adding child data
listDataHeader.add("Starters");
listDataHeader.add("Main Course");
listDataHeader.add("Desserts");
listDataHeader.add("Side Orders");
listDataHeader.add("Drinks");
// Adding child data
final List<String> starters = new ArrayList<String>();
starters.add("Soup of the Day");
starters.add("Prawn Cocktail");
starters.add("Liver Pate");
starters.add("Caesar Salad");
starters.add("Cheesy Garlic Bread");
List<String> maincourse = new ArrayList<String>();
maincourse.add("Steak Burger");
maincourse.add("Pappardelle Pasta");
maincourse.add("Fish and Chips");
maincourse.add("Piri Piri Roast Chicken");
maincourse.add("Roast Beef");
List<String> desserts = new ArrayList<String>();
desserts.add("Ice Cream Select");
desserts.add("Chocolate Brownie");
desserts.add("Creme Brullee");
desserts.add("Sticky Toffee Pudding");
desserts.add("Strawberry Meringue");
List<String> sides = new ArrayList<String>();
sides.add("Onion Rings");
sides.add("Chunky Chips");
sides.add("Tobacco Onions");
sides.add("Chef's Veg");
sides.add("Salad");
List<String> drinks = new ArrayList<String>();
drinks.add("Beer");
drinks.add("Wine");
drinks.add("Coke");
drinks.add("Orange Juice");
drinks.add("Tea");
drinks.add("Coffee");
listDataChild.put(listDataHeader.get(0), starters); // Header, Child data
listDataChild.put(listDataHeader.get(1), maincourse);
listDataChild.put(listDataHeader.get(2), desserts);
listDataChild.put(listDataHeader.get(3), sides);
listDataChild.put(listDataHeader.get(4), drinks);
expListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id)
{
final String selected = (String) parent.getSelectedItem();
Intent i - new Intent(getApplicationContext(), DisplayOrder.class);
i.putExtra("Name", selected);
startActivity(i);
Toast.makeText(getApplicationContext(), listDataHeader.get(groupPosition) + " : " + listDataChild.get(listDataHeader.get(groupPosition)).get(childPosition), Toast.LENGTH_SHORT)
.show();
return false;
}
});
}
}
任何人都可以提供示例代码或建议吗?将不胜感激,谢谢
【问题讨论】:
-
你在另一个活动中做了什么来获取数据?请也分享该代码。
-
我看过那个教程,它只显示了如何在选择项目时显示吐司消息
-
我还没有在其他活动中做任何事情,因为我不知道该怎么做
标签: java android android-studio expandablelistview