2
我想为我的应用程序设置一些类似菜单的导航器。如何使用ListView和ViewFlipper在Android应用中导航用户?
在主页面有一个listView,它包含两个项目,点击每个项目都会用ViewFlipper显示它的子视图,如果用户点击后退按钮,他会再次返回主页。
问题是如何使它,我只能使用ViewFlipper翻转到下一个屏幕或prev屏幕,如何管理这些子视图在这里?如何把他们放在我的布局XML文件?
我想为我的应用程序设置一些类似菜单的导航器。如何使用ListView和ViewFlipper在Android应用中导航用户?
在主页面有一个listView,它包含两个项目,点击每个项目都会用ViewFlipper显示它的子视图,如果用户点击后退按钮,他会再次返回主页。
问题是如何使它,我只能使用ViewFlipper翻转到下一个屏幕或prev屏幕,如何管理这些子视图在这里?如何把他们放在我的布局XML文件?
这里遵循psudo的方式来做到这一点。
//在OnCreate中,向您的列表视图添加一个点击监听器,使视图翻转到下一个视图。
viewflipper = (ViewFlipper) findViewById(R.id.viewflipper);
listview = (ListView) findViewById(R.id.listview);
listview.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
viewflipper.showNext();
});
//覆盖您的onKeyDown Activty处理后退按钮单击。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if(viewflipper.getVisibleChild() != 0){
viewflipper.showPrevious();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
// XML的viewflipper圣维特列表视图为“第一页”和一个简单的TextView“第二页”
<ViewFlipper android:id="@+id/viewflipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView android:id="@+id/secondview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="This is the second view"
/>
</ViewFlipper>
那你链接到一个特定例子是有点老(2008年8月) ,更不用说从原来的AndroidGuys文章中剔除。以下是该帖子中保持更新的两个示例的链接:http://github.com/commonsguy/cw-android/tree/master/Fancy/Flipper1/ http://github.com/commonsguy/ cw-android/tree/master/Fancy/Flipper2/ – CommonsWare 2010-05-02 11:53:29
感谢您的回答。但我需要的是一点点复杂。因为导航不总是线性的,例如,HOME-> A | B | C - >如果选择了A - > a1 | a2 |,如果选择了B - > b1 | b2。如果我有所有预定义的A | B | C | a1 | a2 | b1 | b2视图,我如何将所有这些视图放入该ViewFlipper中,或者如果其中一些像a2,b1是通过从Internet获取数据动态创建的,我呢? – virsir 2010-05-03 02:08:24
如果我理解正确,可以将2个listviews添加到viewflipper。第一个列表视图显示A,B,C,当你点击任何一个翻转到第二个列表视图的子项a1,a2,a3 ...如果你点击B,你可以使用相同的列表视图来显示b1,b2被用于a1,a2,a3等... – 2010-05-03 07:06:26