【问题标题】:Using Views in a tabbed application在选项卡式应用程序中使用视图
【发布时间】:2010-08-03 14:50:07
【问题描述】:

好的,所以我有一个具有选项卡式界面的应用程序。我想知道的是如何更改选项卡中当前活动的视图,然后当我完成该视图时,返回原始视图,原样。

【问题讨论】:

    标签: android


    【解决方案1】:

    您可能还想使用在 xml 中定义的 ViewFlipper。

    <ViewFlipper android:id="@+id/ScreenSwitch"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <element A>
        <element B>
        <element C>
    </ViewFlipper>
    

    使用很简单,通过findViewById()找到ViewFlipper对象并请求修改即可:

    viewFlipper.setDisplayedChild( idOfViewToSet );
    

    然后完全取决于您,如何构建“标签”。

    【讨论】:

    • ViewFlipper 工作得非常好,感谢您向我介绍这一点。 :)
    • 不客气。我实际上在我的项目中使用 ViewFlipper,即使使用 MapView。但这当然需要一些自己的解决方案,我创建了像 View Managers 这样的东西,所以他们会处理所有事情,而不是活动 :)
    【解决方案2】:

    对于创建视图,您可能想要的是这样的:

    import android.view.View;
    import android.widget.TabHost;
    
    public class MyViewController implements TabHost.TabContentFactory
    {
        private View myRootView;
    
        @Override
        public View createTabContent(String tag)
        {
            if (myRootView == null)
            {
                // TODO: Create your view here by...
                //       1) Constructing it yourself
                //       2) Inflating a layout.xml with LayoutInflater (better)
                myRootView = new View(context);
            }
            return myRootView;
        }
    }
    

    至于以编程方式更改选项卡,就像在 TabHost 对象上调用 setCurrentTab() 一样简单。

    【讨论】:

      猜你喜欢
      • 2011-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-28
      • 2016-03-04
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多