我有一个带有
的activity_main.xmltools:context="com.example.android.newwine.MainActivity"
和
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="goToNext"/>
在我的MainActivity.java文件中,我有
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
和
public void gaNaarNext(View view){
setContentView(R.layout.activity_main2);
}
我有一个带
的activity_main2.xml文件tools:context="com.example.android.newwine.MainActivity"
当我接下来触摸按钮时,activity_main2.xml将被用作ContentView,所以这是正确的,但是当我做任何事情时(比如触摸RadioButton或者做什么都不重要)我的activity_main2.xml文件调用一个方法,它说:&#34;新葡萄酒被停止。&#34;无论我做什么调用方法,应用程序崩溃。我尝试了很多,如果我要粘贴我在这里尝试的所有内容,这将是一个很长的问题:)。
但有人有答案吗?我真的不知道现在该做什么,所以我想;让我们在Stackoverflow上问一些问题。谢谢!
答案 0 :(得分:1)
您可能更喜欢使用其他活动或fragments更改您的用户界面,因为所涉及的所有绘图都不建议多次使用setContentView()
方法。
由于您似乎不想切换活动,因此片段可能是最容易使用的。
This stackoverflow question也解决了这个问题。
答案 1 :(得分:0)
更改内容视图后,屏幕上的UI元素已更改。您之前设置的所有变量现在都指向旧屏幕 - 不再存在。更改内容视图后,必须将这些变量设置为该布局文件中的正确元素。另外,你可能想看看Carlos Sifuentes所说的碎片。
答案 2 :(得分:0)
当我在我的
RadioButton
文件中执行任何操作时(例如触摸activity_main2.xml
或无所事事)调用方法时,它会说:&#34; {{1 }}&#34;无论我做什么都称为方法,New Wine is stopped.
。
问题是您使用了app crashes
但是您确实获得了activity_main2.xml
reference
RadioButton
的{{1}}。在使用activity_main2.xml
设置新布局后,您应该获得所有视图reference
,然后根据您的需要使用。
更新您的setContentView()
方法,如下所示:
gaNaarNext()
希望这会有所帮助〜