程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-如何獲得onListItemClick 值再傳到另一個 activity中

android-如何獲得onListItemClick 值再傳到另一個 activity中

編輯:編程綜合問答
如何獲得onListItemClick 值再傳到另一個 activity中

程序裡 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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved