2011-08-03 107 views
0

哪種方法我必須重寫,該xml layout使用讀取與,樣品鏈接resources佈局讀取資源的位置?

如果我將layout內有TextView

  <TextView android:layout_width="wrap_content" 
       android:layout_height="wrap_content" android:id="@+id/textview1" 
       android:text="@String/text_test1" 
       </TextView> 

,並在我的ActivityonCreate,我們總是用setContentViewsetContentView(R.layout.sample);

-

我的問題是:當我們使用xml文件作爲活動佈局時,佈局如何讀取像android:text="@String/text_test1這樣的資源,所以我可以例如覆蓋它,所以當佈局請求任何String我可以將其他文本綁定到它?

-

注意:不是找正規的方式,通過尋找XML視圖,然後更改它的屬性。 正在尋找abstract的方式來更改resources所要求的每個String xml佈局。

+1

爲什麼你需要重寫這個功能?只是使用 ((TextView)findViewById(R.id.textview1))。setText(「blah」) – herbert

+0

@herbert對不起,我不需要這種方式,我正在製作'Abstract Activity',所以每個'Resource'請求,我必須處理所有「字符串」中的內容。 –

回答

0

要改變文本,你只需要在你的活動中使用它。

((TextView)findViewById(R.id.textview1)).setText("New Text"); 

要覆蓋整個TextView,您需要創建一個自定義textview類,它可以擴展TextView並在那裏執行您的東西。

+0

對不起,我不需要這種方式,我正在做'抽象活動',所以每個'資源'請求,我必須處理所有'字符串'中的東西。 –

0

,如果你想通過代碼使用更改文本這樣的:

TextView textView = (TextView) findViewById(R.id.textview1); 

textView.setText(getResources()的getString(R.string.yourtextishere));

+0

對不起,我不需要這種方式,我正在做'抽象活動',所以每一個'資源'請求,我必須處理所有'字符串'中的東西。 –

0

我不確定你的意思是什麼。 無論如何,在res/文件夾中存在您的應用程序在運行時需要的所有資源。字符串是在value/string.xml文件中定義的資源。

在編譯時,ADT會生成一個java靜態類,它爲您的任何資源(字符串)綁定一個ID。所以當你設置你的活動的佈局時,字符串的值將被該類中的特定ID所取得。

如果你彪改變TextView的文本你只需要得到與rappresenting TextView的在運行時的對象:

TextView textView = (TextView) findViewById(R.id.textview1); 

和使用他的方法來設置文本:

textView.setText("New Text"); 

希望這會有所幫助。