如何在单击按钮时更改ContentView?

时间:2015-06-09 15:30:06

标签: java android android-layout setcontentview

嘿伙计们, 我需要帮助更改MainActivity中的ContentView(不更改Activity)。 我想要显示“特别感谢”。有帮助我本地化和测试应用程序的用户名。 为此,我正在使用带

的按钮
android:onClick="onSpcThxButtonClick"

我要显示的xml名为“spcthx.xml”

我需要你完成以下代码:

public void onSpcThxButtonClick (View view)
{
        // insert ContentView switch here
}

希望你能帮助我。

提前致谢!

2 个答案:

答案 0 :(得分:0)

只需调用setcontentview函数,就无法轻松使用setcontentview。您可以使用Framelayout删除所有视图并为新布局充气以更改/切换不同视图。我希望这会有所帮助。

答案 1 :(得分:0)

试试这个。

<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".Settings" >

<!-- Settings  -->
<LinearLayout
    android:id="@+id/settings_form"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    >

</LinearLayout>

<!-- Special Thanks -->
<LinearLayout 
    android:id="@+id/special_thanks_form"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:visibility="gone"
    >


</LinearLayout>

然后在你的Activity上引用它们

private View            settingsForm;
private View            specialThanksForm;

settingsForm      = findViewById(R.id.settings_form);
specialThanksForm = findViewById(R.id.special_thanks_form);

然后更改按钮clickListener

上视图的可见性
settingsForm.setVisibility(View.GONE);
specialThanksForm.setVisibility(View.VISIBLE);