【发布时间】:2014-05-01 03:36:16
【问题描述】:
我正在尝试将一个 ListView 项从我的 MainActivity 传递到一个 TextView 项到 MenuActivity,意图成功地创建了第二个活动,但是当我尝试传递数据时我遇到了问题。 MainActivity.Java 是一个搜索屏幕,在输入时会显示餐厅名称列表,当用户选择餐厅时,会将其带到菜单页面。我希望他们的选择作为菜单标题转移到新活动。
MainActivity.Java
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent myIntent = new Intent(MainActivity.this, MenuActivity.class);
String listItem = (String) lv.getItemAtPosition(position);
myIntent.putExtra("restaurant" ,listItem );
startActivity(myIntent);
}
}); // end of lv.setOnItemClickListener
MenuActivity.Java
public class MenuActivity extends ExpandableListActivity {
// textview / menu header
private TextView menuHeader;
// parent list items
private static final String arrGroupElements[] = {"Appetizers", "Main Course", "Desserts",
"Beverages"};
// strings for child elements
private static final String arrChildElements[][]={
{"Appetizer 1", "Appetizer 2", "Appetizer 3", "Appetizer 4", "Appetizer 5"},
{"Main Course 1", "Main Course 2", "Main Course 3", "Main Course 4", "Main Course 5"},
{"Dessert 1", "Dessert 2", "Dessert 3", "Dessert 4", "Dessert 5"},
{"Beverage 1", "Beverage 2", "Beverage 3", "Beverage 4", "Beverage 5"}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_screen);
// added code
setListAdapter(new ExpandableListAdapter(this));
menuHeader = (TextView) findViewById(R.id.articleHeaderTextView);
Bundle extras = getIntent().getExtras();
String searchData = extras.getString("restaurant");
menuHeader.setText(searchData);
}
【问题讨论】:
-
你想传递给 MenuActivity 什么?在我看来,您只是在传递字符串“restaurant”。您的目标是获取列表项并将其传递给 menuHeader 吗?
-
是的,我的目标是通过列表项。我是 android 新手,很可能传入了错误的参数。我要传递什么来获取列表项?
标签: java android eclipse android-intent bundle