// Adding menuItems to ListView
ListAdapter adapter = new SimpleAdapter(this, menuItems,
R.layout.list_item, new String[] { KEY_TITLE, KEY_DESC, KEY_COUNTRY_NAME,
KEY_VENUE_NAME, KEY_START_TIME }, new int[] {
R.id.title,R.id.description, R.id.countryName, R.id.venueName,
R.id.startTime });
setListAdapter(adapter);
// selecting single ListView item
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// getting values from selected ListItem
String title = ((TextView) view.findViewById(R.id.title))
.getText().toString();
String description = ((TextView) view
.findViewById(R.id.description)).getText().toString();
// Starting new intent
Intent in = new Intent(getApplicationContext(),
SingleMenuItemActivity.class);
in.putExtra(KEY_TITLE, title);
in.putExtra(KEY_DESC, description);
startActivity(in);
}
正如您所看到的, KEY_DESC 是我正在谈论的那个,但为了让我使用 in.putextra(KEY_DESC,说明); 让我使用另一个类的 in.getStringExtra 。但描述来自 R.id.description 字段,该字段在 ListAdapter 中声明,该字段也显示在listview项目中。我想从 listview项中删除说明,但仍然可以使用 in.putExtra(KEY_DESC,??)方法。我可以知道我该怎么办?
答案 0 :(得分:1)
如果您不希望描述显示在主列表中,只需从res / layout / list-item.xml中删除表示描述的UI元素(它可能是带有id = @ description的TextView) )。
在这种情况下,您将看不到描述,但仍可通过SimpleAdapter获取。