簡體   English   中英

Android TextView settext()空指針

[英]Android TextView settext() Nullpointer

在我的Android應用中,我試圖顯示個性化消息“ Welcome,[name]!”。 應用啟動時。 通過錯誤日志,我確定在提示用戶輸入用戶名后,我已經成功保存了該用戶名,並在以后的啟動中成功檢索了該名稱。 但是當我嘗試更改默認的“歡迎使用!”時 改為“歡迎使用[名稱]!” 使用settext,我得到一個空指針異常。

我的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();}

    }
}

基於其他類似的帖子,我嘗試確保在包含相關TextView的xml文件上使用setContentView,並且嘗試清潔和重建項目。 它仍然給我一個NullPointerException。 任何幫助將不勝感激!

NPE在前面。 您尚未初始化mainSharedPreferences對象。

字符串名稱;

靜態字符串EXTRA_NAME;

EditName =(EditText)findViewById(R.id.name);

名稱= EditName.getText()。toString();

Intent.putExtra(“ EXTRA_NAME”,名稱);

您將在字符串名稱中包含EditName(用戶輸入的內容),並且還可以將字符串名稱放入靜態字符串EXTRA NAME中(如果您想將其發送給另一個類),或者可以創建一個單獨的類與getter和setter一起用作對象..

也許您必須在xml文件android:text =“ name”中設置文本視圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM