我想使用Android Studio上的设置内容视图在显示真实的的主要活动之前在屏幕上显示欢迎消息。
我只是复制了部分代码,我认为它负责我的应用程序崩溃,因为如果我删除欢迎活动的一部分,我不会得到任何错误。
记住android studio不显示错误,只是当你运行它,程序会崩溃。有办法使它不崩溃吗?
(any建议使它更好地为更大的变化布局,因为我将添加更多的布局后与他们的活动)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcom);
Button btn = (Button) findViewById(R.id.button);
View.OnClickListener welcomeListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
setContentView(R.layout.activity_main);
}
};
btn.setOnClickListener(welcomeListener);
}
8条答案
按热度按时间zzwlnbp81#
单击时应使用Intent而不是setContentView(R.layout.activity_main
elcex8rz2#
我建议你使用片段:您的Activity启动,显示第一个片段,其中包含欢迎消息和按钮,用户单击按钮,然后您将第一个片段替换为第二个片段(不将其添加到backstack,这样点击
back
时就不会返回到它)!arknldoa3#
使用此选项加载主活动:
esbemjvw4#
试试这个-
jckbn6z75#
在一个Activity中添加多个布局的最佳选择是在Activity中使用片段,这样可以提供更好的性能。setContentView不是首选方法,它应该只在Activity中使用一次。
阅读此文档,您将更好地了解您需要做的所有事情:enter link description here
fd3cxomn6#
这并不是它的工作方式。你可以显示一个对话框来显示你的欢迎信息,或者使用ViewSwitcher来切换布局onClick。另一个选择是使用主布局在onClick上启动一个新的活动,无论你做什么,在这种情况下不要设置ContentView超过一次。
j1dl9f467#
如前所述,最好使用Intent在屏幕之间切换。从欢迎活动开始,然后单击运行下一个活动:
此外,你可以尝试使用Fragments来实现这个目的。但更好的做法是将启动画面放在
FrameLayout
中的主活动布局上,并使其成为setVisibility(Visibility.GONE)
onClick。km0tfn4u8#
我们做到了。如果其他人也有同样的问题,请使用以下步骤:我把代码编辑成这样:
'
'然后我转到android manifest并在那里添加我的Welcome类。为什么?因为在android studio日志中有一个错误,即您没有将该类添加到android manifest.xml
'
你们所有的答案都很有用,我用它们解决了这个问题,所以感谢每一个人