2017-02-02 74 views
-4

我目前正在研究一個Android應用程序,當我的應用程序正在運行時,從MainActivity類中更改TextView對象中的文本。爲此,我正在使用setText(CharSequence text)方法。此方法在Android Studio網站上的文檔明確指出方法的目的「設置TextView的字符串值」。然而,每當我嘗試從我的Strings.xml文件中傳遞引用的字符串作爲此方法的參數時,我會收到NullPointerException異常,並顯示消息「試圖調用虛擬方法」void android.widget.TextView.setText(int)'on一個空對象引用「。有人可以請指導我爲什麼會發生此錯誤,以及如何使用setText(CharSequence text)方法與引用的字符串作爲參數?非常感謝!如何從Java中設置Android TextView的文本?

+0

添加mainActivity代碼。 – W4R10CK

+1

首先你需要初始化你的textView,其次如果你問一個問題,你需要顯示你做了什麼 –

+0

發佈你的代碼,所以我們可以做出改變 – Akshay

回答

1

確保初始化的TextView

TextView tvName = (TextView) findViewById(R.id.tv_name); 
tvName.setText(getResources().getString(R.string.name_xml)); 

另外,還要確保你的setContentView XML的tv_name在佈局聲明爲TextView的。

+0

謝謝忘了編碼塊 – Mike

+1

嘿,不知道OP出錯了怎麼回事你發表一個答案?你能解釋一下哪些迴避了他的空指針嗎? –

+1

@Mike,請添加一個資源全文,以確保OP能夠理解他的代碼出了什麼問題。確保在答案中添加一個簡短的內容。 – W4R10CK

-1

另一種方式來做到這一點

TextView textview = (TextView)findViewById(R.id.text);//get the view of textview 

//set the text for textview 
textview.setText("text you want to set"); 
相關問題