在我的Android应用程序中,我试图显示一个个性化的消息“Welcome,[name]!”当应用程序启动。通过错误日志,我确定在他/她被提示提供后成功保存用户名,并在后续启动时成功检索该名。但是当我尝试更改默认的“欢迎!”时到“欢迎,[名字]!”使用settext,我得到一个空指针异常。Android TextView settext()Nullpointer
我的XML(activity_main.xml中)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFC2"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin">
<TextView
android:id="@+id/main_textview"
android:text="Welcome!"
android:textColor="#000000"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textSize="40sp"
android:typeface="serif"/>
</RelativeLayout>
而且我的Java
public class main extends Activity {
TextView mainTextView;
private static final String PREFS = "prefs";
private static final String PREF_NAME = "name";
SharedPreferences mainSharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainTextView = (TextView) findViewById(R.id.main_textview);
String name = mainSharedPreferences.getString(PREF_NAME, "");
if(name.length() > 0){mainTextView.setText("Welcome, " + name + "!");}
else{greeting();}
}
}
基于其他类似的帖子,我试着确保我使用的XML文件的setContentView包含相关的TextView,我试过清理和重建项目。它仍然给我一个NullPointerException。任何帮助将不胜感激!
如果有任何问题的答案娄解决您的问题,请单击答案分数旁边的复选标记图标将其标记为答案。 – rcdmk 2014-09-30 19:52:58