Android ListView,每一行在另一个ListView中显示自己的内容

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,以便它显示所选行的内容 是否可以为每行指定不同的字符串数组 如果没有,我如何才能做到这一点: 正如您在本例中所注

在我的例子中,我有一个填充了一些文本手机型号的列表视图,例如:三星a、B、C。。。以及使用android查询从URL加载的图像。 当选择一行时,将创建一个ViewPager以及3个选项卡Spec、Info、Img,片段Spec和Info都显示ListView,最后一个片段Img显示GridView。我对最后一个片段没有问题,但只对前2个片段有问题,因为我不知道如何填充ListView,以便它显示所选行的内容

是否可以为每行指定不同的字符串数组

如果没有,我如何才能做到这一点:

正如您在本例中所注意到的,三星D比上一个有更多的信息

这是主ListView的ClickListener:

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。