請原諒問題標題,因爲我不確定要使用的正確用語。 我只是自己熟悉與ListView和我想要做的是這樣的:適用於Android版面的動態內容
-Suppose我有有字符串名稱,字符串品種和INT年齡的狗類。
- 然後我會創建Dog的許多實例,並將它們放入僅顯示其名稱的ListView中。
- 我也有一個佈局,可以說doginfo.xml,它具有文本「名稱:」,「品種:」和「年齡:」。
那麼如何讓點擊的項目(即:名稱,品種,年齡)的值顯示在下一個活動上,即doginfo.xml?
請原諒問題標題,因爲我不確定要使用的正確用語。 我只是自己熟悉與ListView和我想要做的是這樣的:適用於Android版面的動態內容
-Suppose我有有字符串名稱,字符串品種和INT年齡的狗類。
- 然後我會創建Dog的許多實例,並將它們放入僅顯示其名稱的ListView中。
- 我也有一個佈局,可以說doginfo.xml,它具有文本「名稱:」,「品種:」和「年齡:」。
那麼如何讓點擊的項目(即:名稱,品種,年齡)的值顯示在下一個活動上,即doginfo.xml?
我假設你有一個你的狗的數組/列表,你將它們添加到你的列表視圖。看看這個〔實施例的onItemClickListener在android DOC:
http://developer.android.com/resources/tutorials/views/hello-listview.html
在點擊監聽要用「int位置」從您的陣列/ ArrayList中獲取對象。獲得此信息後,可以使用「bundle.putString()」和「b.getString()」在活動之間輕鬆傳遞它。
看看這個簡單的教程,瞭解有關活動之間傳遞數據:
http://thedevelopersinfo.wordpress.com/2009/10/15/passing-data-between-activities-in-android/
這很容易。一旦你有你的ListView,設置OnItemClickListener
:
listView.setOnItemClickListener(new OnItemClickListener() {
public void onClick(AdapterView<?> parent, View view, int position, long id) {
//Get your Dog object from the 'position' parameter you get here.
//You should save the 'Dogs' in an array, so you can access them here easily.
Dog d = mDogsArray[position];
Intent intent = new Intent(YourActivity.this, DogInfoActivity.class);
intent.putExtra("name", d.getName());
intent.putExtra("breed", d.getBreed());
intent.putExtra("age", d.getAge());
startActivity(intent);
}
}
如果你想添加/刪除動態狗,你可以使用的方法ListView.setListAdapter
更改列表視圖中顯示的看法。創建陣列適配器是這樣的:
ArrayAdapter<String> dogs = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
,並添加狗是這樣的:
dogs.add(dogInfoString)
讓我回答說,你需要遵循以下步驟:
ArrayList<DogClassObject>
ArrayList<String>
中添加一個名稱。爲了實現這一點,通過這個例子:Android Simple ListView
現在,爲了落實點擊監聽,並顯示dog_info,執行下面的步驟:
我已經設法讓這個工作現在,但是有沒有辦法從新的活動更改對象的值? – 10834346
我設法得到現在這個工作,但有沒有辦法改變來自新活動的對象的值? – 10834346
您的意思是,更改* actual * dogs數組中'DogInfoActivity'中顯示的狗的值?當然可以做到。 – Jong