Android ListView,每一行在另一个ListView中显示自己的内容
在我的例子中,我有一个填充了一些文本手机型号的列表视图,例如:三星a、B、C。。。以及使用android查询从URL加载的图像。 当选择一行时,将创建一个ViewPager以及3个选项卡Spec、Info、Img,片段Spec和Info都显示ListView,最后一个片段Img显示GridView。我对最后一个片段没有问题,但只对前2个片段有问题,因为我不知道如何填充ListView,以便它显示所选行的内容 是否可以为每行指定不同的字符串数组 如果没有,我如何才能做到这一点: 正如您在本例中所注意到的,三星D比上一个有更多的信息 这是主ListView的ClickListener:Android ListView,每一行在另一个ListView中显示自己的内容,android,listview,android-fragments,android-listview,Android,Listview,Android Fragments,Android Listview,在我的例子中,我有一个填充了一些文本手机型号的列表视图,例如:三星a、B、C。。。以及使用android查询从URL加载的图像。 当选择一行时,将创建一个ViewPager以及3个选项卡Spec、Info、Img,片段Spec和Info都显示ListView,最后一个片段Img显示GridView。我对最后一个片段没有问题,但只对前2个片段有问题,因为我不知道如何填充ListView,以便它显示所选行的内容 是否可以为每行指定不同的字符串数组 如果没有,我如何才能做到这一点: 正如您在本例中所注
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Bundle bundle = new Bundle();
bundle.putInt("id", position);
TabStripAdapter newFragment = new TabStripAdapter();
newFragment.setArguments(bundle);
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.frame_container, newFragment);
transaction.addToBackStack(null);
transaction.commit();
}
});
对不起,我说的是英语。您应该在主列表视图中使用on-McClickListener,您将有3个选项:
在主listview中有一个对象数组,但只显示模型名称或所需信息,因此当用户选择项目时,只需从位置获取对象,并将对象属性值传递给其他活动
在主listview中有一个对象数组,但只显示模型名称或所需信息,因此当用户选择项目时,只需从位置获取对象并将对象传递给其他活动
在第一个活动中使用两个atributes对象数组itemId、itemName,当用户选择项目时,将itemId传递给下一个活动,并从三个选项卡的活动中向web服务或数据库询问您拥有Id的项目的信息
它应该是这样的:
MainListView.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
// String selectedProductId = MainListArray.get(position).getId(); //Option 1 & 3
// String selectedProductInfo = MainListArray.get(position).getInfo ();
// ...more attributes //Option 1
// CustomObject selectedProduct = MainListArray.get(position); //Option 2.
Intent i = new Intent(_myContext, newActivity.class);
// i.putString("productId", selectedProductId); //Option 1 & 3.
// i.putString("productInfo", selectedProductInfo); //Option 1.
// ...more attributes //Option 2.
// i.putParceleable("product", selectedProduct); //Option 2.
startActivity(i);
}
});
要传递一个完整的对象视图,它将向您展示如何执行此操作。是否使用主ListView的onClickListener?是的,您可以为每一行指定不同的数据以显示在ViewPager中。是的,这是可能的。使用自定义ArrayAdapter。您可以找到关于@dhun的不错的教程是的,我正在使用它启动ViewPager并传递数据好的,每次调用onClickListener时,根据项目id传递自定义数组适配器。Listview是完全动态的,它可以添加任意多的行。你有控制权。检查我的问题,我已经为主ListView添加了ClickListener。