2014-05-09 80 views
0

我需要在活動和它在Android中的佈局xml之間交換數據。但我在Android中找不到這樣的方法。例如,mvc模式下的視圖和控制器總是有一種方法來交換數據。所以我想知道是否有任何方法來交換他們之間的數據,我應該刷新我的想法,並意識到沒有這樣的方式?下面的代碼如何在活動和佈局xml之間交換數據android

+0

它不清楚你在問什麼 - 你想要交換什麼? – Katana24

+0

像一個id或圖像路徑 – ssj

+0

嘗試Google類似listview或gridview的東西,如果這是你的意思。 – Lunchbox

回答

0

使用您的活動獲得從佈局值在XML實例

String value; 
    EditText editText= (EditText) findViewById(R.id.editText); 
value=editText.getText(); 
0

代碼:

<ImageView 
    android:id="@+id/image_view" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    /> 
在Java類

(喜歡的onCreate()):

ImageView image = (ImageView) findViewById(R.id.image_view); 

然後你可以做你想要的東西image

+0

但我怎樣才能從XML中的活動獲取數據? – ssj

+0

是否要更改活動中的TextView值?或者類似的東西? – Lunchbox

+0

@Lunchbox是在你的照片itachi嗎? – Katana24

0

我相信你不確定你在問什麼。如果你想交換信息,如輸入到文本框中的ID或文本,那麼任何好的android教程都應該能夠證明這一點。考慮到你最後的評論,我認爲你在談論基於GETPOST的技術,可以使用RESTSOAP或兩者兼而有之,如果你想。 This問題答案有一個很好的實現和定義這兩個webservices是什麼。

P.S.如果這是你正在尋找的,然後upvote這個答案。

0

作爲一些額外的信息,「視圖」(XML佈局文件)由您的活動最初在您的活動的onCreate方法中設置。你調用它的父方法(super.onCreate())之後。

爲了在整個活動中保持範圍,我傾向於將活動所需的所有佈局小部件聲明爲與任何方法以外的類進行交互。

TextView textWelcomeMessage; 

public void MyActivity(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // before calling setContentView() we have the option to change 
    // window features ex requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.activity_my_activity); 

    // Now to set the textview 
    textWelcomeMessage = (TextView) findViewById(R.id.textWelcomeMessage); 

    // Set some data 
    textWelcomeMessage.setText("Hello, welcome to my activity"); 
} 

這不完全像傳統的PHP風格的MVC因爲靜態類型改變的事情了一下,我們不用擔心範圍。但是,就數據抽象和分離而言,核心原則仍然適用。希望這有助於=)