我有一个listview,它有10行,可以滚动。现在我需要的是
1)点击每一行我在同一个窗口打开子列表视图,但所有这些都在顶部打开。相反,我想打开行附近的视图,我希望我的父视图不被隐藏。例如。如果我点击第5行,新的textview应该在这一行附近打开。
2)对于listview中的行选择使用选择器,但我的问题是主视图在移动到子行后仍处于选中状态。 相反,我希望主视图是正常的,一旦我移动到子视图,当我返回时,当我按下按钮,那时我的主视图行 需要选择。
帮助我实现同样的目标..
答案 0 :(得分:0)
碎片容器:
public class FragmentFolderList extends SherlockFragment{
protected AdapterFolderList _adapter;
protected ListView _listView;
protected View _view;
public static final String BACKSTACKCATEGORY = "backStackCat";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
_view = inflater.inflate(R.layout.fragment, container, false);
_listView = (ListView) _view.findViewById(R.id.list);
return _view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
_adapter = new AdapterFolderList();
_listView.setAdapter(_adapter);
_listView.setOnItemClickListener(this);
}
protected void moveToDirectory(int where) {
FragmentDirectoriesList fragment = new FragmentDirectoriesList();
Bundle param = new Bundle();
param.putInt("position", where);
fragment.setArguments(param);
getActivity().getSupportFragmentManager().beginTransaction().add(R.id.fragment_annuaire, fragment).addToBackStack(BACKSTACKCATEGORY).commit();
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
moveToDirectory(position);
}
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="4dp" >
</ListView>
</LinearLayout>
答案 1 :(得分:0)
看看你描述的内容,我认为你需要的是ExpandableListView
而不是正常的ListView
,请查看此link
答案 2 :(得分:0)
我通过将它放在相对布局中解决了我的问题,这是我的代码..
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/listView1"
android:layout_width="145dp"
android:layout_height="wrap_content"
/>
<ListView
android:id="@+id/listView2"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_marginLeft="147dp"
android:layout_marginTop="23dp"
/>
<ListView
android:id="@+id/listView2"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_marginLeft="147dp"
android:layout_marginTop="23dp"
/>
</RelativeLayout>
希望这会对某人有所帮助: - )