我有一个ListView,其中每一行都有一组相关的项目。因此,当单击第一行ListView时,与此行关联的项应重新排列为ListView,此ListView应取代第一个ListView,即第一个ListView应替换为第二个ListView。
请建议我这样做的好方法?
如果有多个级别,也建议我一个解决方案,即第二个listview也有一个关联的项目,他们也应该将自己重新排列到listView。
答案 0 :(得分:0)
为什么不使用ExpandableListView
?
对于更深层次,您应该采用不同的策略。其中:
答案 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
现在假设您listView
说lv
;
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活动。