Java 将方向从横向更改为纵向时,应用程序崩溃
错误 **2020-03-01 17:36:58.959 6589-6589/com.studenthelper.bscit E/AndroidRuntime:FATAL EXCEPTION:main 进程:com.studenthelper.bscit,PID:6589 java.lang.RuntimeException:无法启动activity ComponentInfo{com.studenthelper.bscit/com.studenthelper.bscit.MainActivity}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void android.widget.TextView.setText(java.lang.CharSequence)' 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2914)上 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3049)上 位于android.app.ActivityThread.HandlerElanchActivityInner(ActivityThread.java:4785) 位于android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4694) 在android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69) 在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)中 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)中 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1809)上 位于android.os.Handler.dispatchMessage(Handler.java:106) 位于android.os.Looper.loop(Looper.java:193) 位于android.app.ActivityThread.main(ActivityThread.java:6692) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.widget.TextView.setText(java.lang.CharSequence)” 位于com.studenthelper.bscit.MainActivity.onCreate(MainActivity.java:21) 位于android.app.Activity.performCreate(Activity.java:7140) 位于android.app.Activity.performCreate(Activity.java:7131) 位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2894)上 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3049)上 位于android.app.ActivityThread.HandlerElanchActivityInner(ActivityThread.java:4785) 位于android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4694) 在android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:69) 在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)中 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)中 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1809)上 位于android.os.Handler.dispatchMessage(Handler.java:106) 位于android.os.Looper.loop(Looper.java:193) 位于android.app.ActivityThread.main(ActivityThread.java:6692) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)**Java 将方向从横向更改为纵向时,应用程序崩溃,java,android,android-studio,Java,Android,Android Studio,错误 **2020-03-01 17:36:58.959 6589-6589/com.studenthelper.bscit E/AndroidRuntime:FATAL EXCEPTION:main 进程:com.studenthelper.bscit,PID:6589 java.lang.RuntimeException:无法启动activity ComponentInfo{com.studenthelper.bscit/com.studenthelper.bscit.MainActivit
根据您的崩溃日志:
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by:
java.lang.NullPointerException: Attempt to invoke virtual method 'void
android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference at
com.studenthelper.bscit.MainActivity.onCreate(MainActivity.java:20)
它表示您的文本视图
TextView textView=findViewById(R.id.logotext);
在布局R.layout.activity_main中找不到,这是由于尝试textView.setText(Text)时出现的问题代码>它实际上是null并且发生异常
所以,我建议你
验证textVIewId在布局中是否相同?及
设置getWindow().setFlags(WindowManager.LayoutParams.FLAG_全屏,WindowManager.LayoutParams.FLAG_全屏);
在setContentView(R.layout.activity_main)之前代码>
如果成功了,别忘了接受答案,这样其他人也可以从你的问题中受益。这不起作用,兄弟,但感谢你的建议实际上我已经做了两个布局,一个是横向布局,一个是横向布局,一个是纵向布局。我有文本视图,显示我的徽标,但在纵向模式下我没有文本视图。请help@abhishek如果两个版面中都有两个版面,那么它也应该有相同的文本视图
TextView textView=findViewById(R.id.logotext);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
TextView textView=findViewById(R.id.logotext);
int unicode=0x1F4A1;
String emoji=getEmoji(unicode);
String Text="Bsc"+emoji+"T";
textView.setText(Text);
}