gpt4 book ai didi

java - 将方向从横向更改为纵向时应用程序崩溃

转载 作者:行者123 更新时间:2023-12-02 08:56:29 25 4
gpt4 key购买 nike

错误**2020-03-01 17:36:58.959 6589-6589/com.studenthelper.bscit E/AndroidRuntime: 致命异常: 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.handleRelaunchActivityInner(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( native 方法) 在 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.handleRelaunchActivityInner(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( native 方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)  **

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
TextView textView=findViewById(R.id.logotext);
int unicode=0x1F4A1;
String emoji=getEmoji(unicode);
String Text="Bsc"+emoji+"T";
textView.setText(Text);

}
public String getEmoji(int uni)
{
return new String(Character.toChars(uni));
}

最佳答案

根据您的崩溃日志:

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 textView=findViewById(R.id.logotext);

在布局R.layout.activity_main中找不到,因此当您尝试textView.setText(Text);时它实际上是null并且发生异常。

所以,我建议

  1. 验证布局中的 textVIew ID 是否相同?和
  2. 设置getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    之前setContentView(R.layout.activity_main);
@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);

}

关于java - 将方向从横向更改为纵向时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60458106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com