gpt4 book ai didi

java - android TextView设置文本问题

转载 作者:行者123 更新时间:2023-12-01 07:27:48 32 4
gpt4 key购买 nike

我是 android 的新手并尝试显示从 Intent 中作为额外字符串传递的消息,代码如下:

public class DisplayMessageActivity extends /*Activity*/ActionBarActivity {

@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

TextView textView = (TextView) findViewById(R.id.display_message);
textView.setTextSize(40);
textView.setText(message);

setContentView(R.layout.activity_display_message);

setupActionBar();
}

/**
* Set up the {@link android.app.ActionBar}, if the API is available.
*/
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setupActionBar() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}else{
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.display_message, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}

}

我得到了如下错误:

01-27 23:45:05.864: E/AndroidRuntime(528): FATAL EXCEPTION: main
01-27 23:45:05.864: E/AndroidRuntime(528): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myfirstapp/com.example.myfirstapp.DisplayMessageActivity}: java.lang.NullPointerException
01-27 23:45:05.864: E/AndroidRuntime(528): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
01-27 23:45:05.864: E/AndroidRuntime(528): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
01-27 23:45:05.864: E/AndroidRuntime(528): at android.app.ActivityThread.access$600(ActivityThread.java:123)
01-27 23:45:05.864: E/AndroidRuntime(528): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
01-27 23:45:05.864: E/AndroidRuntime(528): at android.os.Handler.dispatchMessage(Handler.java:99)
01-27 23:45:05.864: E/AndroidRuntime(528): at android.os.Looper.loop(Looper.java:137)
01-27 23:45:05.864: E/AndroidRuntime(528): at android.app.ActivityThread.main(ActivityThread.java:4424)
01-27 23:45:05.864: E/AndroidRuntime(528): at java.lang.reflect.Method.invokeNative(Native Method)
01-27 23:45:05.864: E/AndroidRuntime(528): at java.lang.reflect.Method.invoke(Method.java:511)
01-27 23:45:05.864: E/AndroidRuntime(528): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-27 23:45:05.864: E/AndroidRuntime(528): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-27 23:45:05.864: E/AndroidRuntime(528): at dalvik.system.NativeStart.main(Native Method)
01-27 23:45:05.864: E/AndroidRuntime(528): Caused by: java.lang.NullPointerException
01-27 23:45:05.864: E/AndroidRuntime(528): at com.example.myfirstapp.DisplayMessageActivity.onCreate(DisplayMessageActivity.java:29)
01-27 23:45:05.864: E/AndroidRuntime(528): at android.app.Activity.performCreate(Activity.java:4465)
01-27 23:45:05.864: E/AndroidRuntime(528): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
01-27 23:45:05.864: E/AndroidRuntime(528): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
01-27 23:45:05.864: E/AndroidRuntime(528): ... 11 more

我还定义了display_messagestrings.xml<string name="display_message">Display a message</string> ,并启用overlay Activity 中操作栏的模式,并设置 android:paddingTop="?attr/actionBarSize"对于 Activity 布局文件。所以我想知道如何解决这些问题?

干杯

最佳答案

在检索 UI 元素之前移动 setContentView

即,您需要先膨胀布局,否则 findViewById 返回 null,因此在 textView.txt 行处返回 NullPointerException。 setTextSize(40);.

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);

/****/
TextView textView = (TextView) findViewById(R.id.display_message);
textView.setTextSize(40);
textView.setText(message);

关于java - android TextView设置文本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21394370/

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