2014-09-28 56 views
0

我有這樣的代碼:的ListView PutExtra任何回報

list.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> p1, View p2, int p3, long p4) 
      { 
       //Toast.makeText(getActivity().getApplicationContext(), "", Toast.LENGTH_SHORT).show(); 
       Intent epActivity = new Intent(getActivity().getApplicationContext(), EpisodeActivity.class); 
       epActivity.putExtra(POSITION, p3); 
       startActivity(epActivity); 
      } 
     }); 

而這種代碼在我EpisodeActivity:

Intent i = getIntent(); 
String pos = i.getStringExtra(MainActivity.PlaceholderFragment.POSITION); 

,問題是,我得到一個空pos變量。 怎麼回事?

回答

0

你的問題是你通過intent extra發送一個整數值,你試圖通過字符串來獲取它。

在你其他類型P3是整數,所以在EpisodeActivity類就應該是這樣的:

Intent i = getIntent(); 
int pos = i.getIntExtra(MainActivity.PlaceholderFragment.POSITION); 

如果你想獲得它作爲字符串,可以在以後使用它轉換成字符串基本的java變長轉換。

0

您必須使用getIntExtra,因爲您使用的是int(請參閱p3參數),但您正嘗試獲取字符串。