在我的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