Android:在单个java类中调用多个布局

时间:2015-07-16 10:56:57

标签: android sqlite

问题

我有一个java类,我根据点击的按钮调用多个布局。主页上定义的按钮工作正常。但是我无法对其他布局页面上的按钮做同样的事情。

我的代码

{{1}}

堆栈跟踪

{{1}}

1 个答案:

答案 0 :(得分:1)

详细说明我想描述您的备用解决方案,

您正在寻找<include>代码。借助该标签,您可以在单一布局中扩展多个布局。

例如,您的主要布局是 activity_main ,另外两个布局显示 layout1 layout2 ,而不是必须使用<include>用于将 layout1 layout2 扩展为 activity_main 的标记。比在java文件中调用 setContentView(R.layout.activity_main); 并首先将 layout2 的可见性设置为 < / em> 以及点击事件集 layout2 可见性 可见 layout1 可见性为 即可。

当我有像你这样的要求时,我做了这样的事情。

java代码

@Override
protected void onCreate(Bundle savedInstanceState)
{
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tab_home);

    LinearLayout introduction_page = (LinearLayout) findViewById(R.id.introduction);
    LinearLayout manifesto = (LinearLayout) findViewById(R.id.manifesto);
    LinearLayout become_member_page = (LinearLayout) findViewById(R.id.become_member);
    LinearLayout contacts = (LinearLayout) findViewById(R.id.contacts);

    switch (MainActivity.tab_home_content)
    {
        case 1:

            introduction_page.setVisibility(View.VISIBLE);
            manifesto.setVisibility(View.GONE);
            become_member_page.setVisibility(View.GONE);
            contacts.setVisibility(View.GONE);
            new Get_Introduction_Textview().execute();

            break;

        case 2:

            introduction_page.setVisibility(View.GONE);
            manifesto.setVisibility(View.VISIBLE);
            become_member_page.setVisibility(View.GONE);
            contacts.setVisibility(View.GONE);
            new Get_Manifesto_Textview().execute();
            break;

        case 3:

            introduction_page.setVisibility(View.GONE);
            manifesto.setVisibility(View.GONE);
            become_member_page.setVisibility(View.VISIBLE);
            contacts.setVisibility(View.GONE);

            break;

        case 4:

            introduction_page.setVisibility(View.GONE);
            manifesto.setVisibility(View.GONE);
            become_member_page.setVisibility(View.GONE);
            contacts.setVisibility(View.VISIBLE);
            new Get_Contact_Textview().execute();

            break;

        default:
            break;
    }

}

tab_home xml文件

<include
    android:id="@+id/become_member"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    layout="@layout/become_member" />

<include
    android:id="@+id/introduction"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    layout="@layout/introduction" />

<include
    android:id="@+id/manifesto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    layout="@layout/manifesto" />

<include
    android:id="@+id/contacts"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    layout="@layout/contacts"/>