如何使用ListView和ViewFlipper在Android应用程序中导航用户?

时间:2010-05-02 06:57:27

标签: android layout menu navigation viewflipper

我想为我的应用设置一些类似菜单的导航器。

主页面中有一个listView,它包含两个项目,点击每个项目将使用ViewFlipper显示其子视图,如果用户点击后退按钮,他将再次返回主页。

问题是如何制作它,我只能使用ViewFlipper翻到下一个屏幕或prev屏幕,如何在这里管理这些子视图?如何将它们放在我的布局xml文件中?

1 个答案:

答案 0 :(得分:3)

下面是一个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();

});

//覆盖你的Activty中的onKeyDown来处理后退按钮点击。

@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 for viewflipper vith listview为“firstpage”,简单textview为“second page”

<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>