Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何查看特定列表视图项的详细数据_Android_Android Layout_Android Listview - Fatal编程技术网

Android 如何查看特定列表视图项的详细数据

Android 如何查看特定列表视图项的详细数据,android,android-layout,android-listview,Android,Android Layout,Android Listview,假设我有一个国家的城市列表。 如果用户单击其中一个,我希望显示一个新屏幕,其中包含该列表元素的详细信息。 此外,该屏幕将有其他按钮(例如:写评论、张贴图片) 如何实现这一点?城市City类应该实现Parcelable。其toString()方法应返回城市名称。(而不是简单地将城市作为字符串) 填充ListView时,请使用ArrayAdapter而不是ArrayAdapter(此代码假定城市保留在列表中) 到目前为止你试过什么?看起来像是一个简单的a实现,我想这有点难,我想我会在我的应用程序子类

假设我有一个国家的城市列表。 如果用户单击其中一个,我希望显示一个新屏幕,其中包含该列表元素的详细信息。 此外,该屏幕将有其他按钮(例如:写评论、张贴图片)


如何实现这一点?

城市
City
类应该实现
Parcelable
。其
toString()
方法应返回城市名称。(而不是简单地将城市作为
字符串

填充ListView时,请使用
ArrayAdapter
而不是
ArrayAdapter
(此代码假定城市保留在
列表中)


到目前为止你试过什么?看起来像是一个简单的a实现,我想这有点难,我想我会在我的应用程序子类中存储一个选定的城市对象,当我在单击时开始一个新的意图时,该活动将使用存储在我的应用程序子类中的对象中的数据。@David detailview的更好选项是什么<代码>片段活动
活动
活动中的片段
?@13对不起,我不知道。
City[] cities = new City[list.size()];
list.toArray(cities);
mListView = (ListView) findViewById(R.id.citylist);
mListView.setAdapter(new ArrayAdapter<City>(this,
    R.layout.listitem, cities));
mListView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> a,
            View v, int position, long id) {
        City city = (City) a.getItemAtPosition(position);
        Intent intent = new Intent(v.getContext(), DetailsActivity.class);
        intent.putExtra("com.example.cities.City", city);
        startActivity(intent);
    }
});
Bundle bundle = getIntent().getExtras();
City city = bundle.getParcelable("com.example.cities.City");