2012-06-25 79 views
0

所以,我打算做一個列表視圖,如果其中一個項目點擊,它會轉到其他活動。很明顯,我想用額外的意圖。listview onitemclick不能引用

但是在我的代碼中,額外功能並沒有受到重視。 我試着引用額外的準確值,它的工作,但如果我把額外的引用我的對象/變量,它將無法正常工作。

到目前爲止,我的代碼是這樣

public class bulan extends ListActivity { 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tagihan_list); 

     Intent i = getIntent(); 
     final String no_pel = i.getStringExtra("no_pel"); 

     List<NameValuePair> pairs = new ArrayList<NameValuePair>(); 
     pairs.add(new BasicNameValuePair("nopel", no_pel)); 

     ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(); 

     JSON json = new JSON(); 
     JSONObject jobj = json.getJSON("http://10.0.2.2/KP/tagihan.php", pairs); 

     try { 
      int length = jobj.getInt("panjang"); 

      for(int n = 1; n <= length; n++){ 

       String m = Integer.toString(n); 
       JSONObject row = jobj.getJSONObject(m); 

       String id_tagihan = "No. tagihan : " + row.getString("id"); 
       String bulan = row.getString("bulan"); 
       String tahun = row.getString("tahun"); 
       String tagihan = "Rp. " + row.getString("tagihan"); 
       String status = row.getString("status"); 

       HashMap<String, String> map = new HashMap<String, String>(); 

       map.put("id_tagihan", id_tagihan); 
       map.put("bulan", bulan); 
       map.put("tahun", tahun); 
       map.put("tagihan", tagihan); 
       map.put("status", status); 

       list.add(map); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

     ListAdapter adapter = new SimpleAdapter(this, list, R.layout.list, 
       new String[] {"id_tagihan","bulan","tahun","tagihan","status"}, new int[] { 
       R.id.id_tagihan, R.id.bulan, R.id.tahun, R.id.tagihan, R.id.status}); 

     setListAdapter(adapter); 

     ListView lv = getListView(); 

     lv.setOnItemClickListener(new OnItemClickListener(){ 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, 
        long id) { 

       // TODO Auto-generated method stub 
       String sid = ((TextView) view.findViewById(R.id.id_tagihan)).getText().toString(); 
       String snopel = no_pel; 

       Intent i = new Intent(bulan.this, rincian.class); 
       i.putExtra("id", sid); 
       i.putExtra("no_pel", snopel); 
       startActivity(i); 

      } 

     }); 
    } 
} 

就像我之前解釋說,這是這部分

Intent i = new Intent(bulan.this, rincian.class); 
        i.putExtra("id", sid); 
        i.putExtra("no_pel", snopel); 
        startActivity(i); 

是改變我的代碼,如果我寫他們喜歡這個

Intent i = new Intent(bulan.this, rincian.class); 
        i.putExtra("id", "00001"); 
        i.putExtra("no_pel", "0620120001"); 
        startActivity(i); 
工作
+0

「not reffering」then what are getting null? –

回答

0

嘗試

Intent i = new Intent(bulan.this, rincian.class); 
Bundle b=new Bundle(); 
b.putString("id",sid); 
b.putString("no_pel",snopel); 
i.putExtras(b); 
startActivity(i); 

在你的rincian類中獲取如下的值。

b=getIntent().getExtras(); 
String fri_id=b.getString("id"); 
String nopel=b.getString("no_pel"); 
+0

可悲的是它也不能工作:( –