问题
我有一个java类,我根据点击的按钮调用多个布局。主页上定义的按钮工作正常。但是我无法对其他布局页面上的按钮做同样的事情。
我的代码
{{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"/>