2013-07-31 102 views
0

我需要幫助。我嘗試從我的課程中獲取價值,並將其帶到另一個課程中進行處理....我的問題是,價值來自適配器。我被困在這裏。從適配器的另一個班級取得價值

這裏是我的代碼:

lv.setOnItemClickListener(new OnItemClickListener() 
{ 
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) 
{ 
    //Toast.makeText(getApplicationContext(), data.get(arg2).toString(),3000).show(); 
    Intent newI = new Intent (this, PDetail.class); 
    startActivity (newI); 
}}); 

這是我想調用類(PDetail.class):

public class PDetail extends Activity { 
//Create ct; 
Toast.makeText(getApplicationContext(), data.get(arg2).toString(),3000).show(); 
} 

我的問題是,我怎麼能拿到 「數據」 值從第一班?任何建議表示讚賞。

+1

請看看:http://stackoverflow.com/a/819427/513413 – Hesam

+0

感謝您的參考 –

+0

我認爲他的問題實際上是從適配器獲取它。通常適配器有'getItem'方法,它將返回與該位置關聯的對象。 – FabianCook

回答

1

在您的第一項活動

lv.setOnItemClickListener(new OnItemClickListener() 
{ 
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) 
{ 
    Intent newI = new Intent (this, PDetail.class); 
    newI.putExtra("value",data.get(arg2)); 
    startActivity (newI); 
}}); 

在你的第二個活動

String value =getIntent().getStringExtra("value"); 

我希望它可以幫助你。

+0

這正是我所做的,但它不會工作......錯誤說我必須擦除參數....它變成這樣:** Intent newI = new Intent(); **任何想法?爲什麼我不能把** Intent newI = new Intent(this,PDetail.class); ** –

+1

您應該使用classaName Intent newI = new Intent(firstclassName.this,PDetail.class); – user2633519

+0

它顯示沒有錯誤....但仍然強迫關閉,當我運行它....無論如何thx您的答覆 –