程序裡 listView 中的信息,當我點擊一行,它就會給出所選項的所有細節。在所選項中有image, imagename, price等。當我點擊listview中的圖像時,它必須填充所有的信息包括下一個activity 的圖像。
在listView中顯示信息
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
JSONObject json = JSONfunctions.getJSONfromURL("http://10.0.2.2/php/p.php");
try{
JSONArray earthquakes = json.getJSONArray("prop");
for(int i=0;i<earthquakes.length();i++){
JSONObject e = earthquakes.getJSONObject(i);
String BookName = e.getString("P_City");
PNames.add(BookName);
String BookImg = e.getString("Pname");
PImages.add(BookImg);
}
}catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
setListAdapter(new MobileArrayAdapter(this, PNames,PImages));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
String selectedValue = (String) getListAdapter().getItem(position);
Toast.makeText(this, selectedValue, Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), Searching.class);
// sending data to new activity
i.putExtra("product", selectedValue);
startActivity(i);
}
}
我可以把position傳遞到下一個類中。但是如何從一個已選項中獲取所有的信息呢?
可以封裝成一個bean 實現序列化接口 使用 public Intent putExtra(String name, Serializable value) {}
在另外一個Activity獲取 直接使用Intent.getSerializableExtra(String name) 獲取一個bean
也可以通過上面哥們說的方法傳遞各種類型的key value