单击ListView的行元素时显示另一个ListView

时间:2014-04-10 18:14:13

标签: android performance android-layout listview android-listview

我有一个ListView,其中每一行都有一组相关的项目。因此,当单击第一行ListView时,与此行关联的项应重新排列为ListView,此ListView应取代第一个ListView,即第一个ListView应替换为第二个ListView。

请建议我这样做的好方法?

如果有多个级别,也建议我一个解决方案,即第二个listview也有一个关联的项目,他们也应该将自己重新排列到listView。

3 个答案:

答案 0 :(得分:0)

为什么不使用ExpandableListView

对于更深层次,您应该采用不同的策略。其中:

  • 每个列表视图都应该显示在自己的活动(手机)/片段(平板电脑)中,并且可以进行更深层次的滚动/页面查看。
  • 您可以使用OI FileManager
  • 中的面包屑

答案 1 :(得分:0)

为第一个和第二个列表提供两个ListFragment。 将第一个片段列表附加到活动。单击项目(行)时,将第一个片段替换为第二个片段。

现在您将看到第二个附加片段列表。

答案 2 :(得分:0)

所以基本上你想要一个ListView,如果你点击ListView的项目,之前的listView应该用更新的替换?

这可以通过FrameLayout和Fragments实现。 在这里阅读文档 http://developer.android.com/guide/components/fragments.html

http://developer.android.com/reference/android/widget/FrameLayout.html

假设你有定制的LISTVIEW ADAPTER 现在假设您listViewlv;

firstsetup Listner方法

lv.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View parent, int position,long id) 

     {

    displayAnotherListView(position);

     }  
  });

现在您需要创建名为displayAnotherListView(int position)

的此方法

你可以这样做

private void displaynAotherListView(int position) {

        Fragment fragment=null;
        switch (position)
        {
        case 0:
            {
                fragment=new NewListFragments();
                break;
            }
        case 1:
            {
                fragment=new OtherFragment();
            }
        default:
                   {
                            break;
                    }

                    if (fragment != null) {
                FragmentManager fragmentManager = getFragmentManager();
                fragmentManager.beginTransaction()
                        .replace(R.id.frame_container, fragment).commit();

              // Details about your fragments list here
            } else {
                // error in creating fragment
                Log.e("MainActivity", "Error in creating fragment");
            }


   }

再次你需要了解片段。 我宁愿建议你使用从一个列表视图到另一个列表视图的juming活动。