2016-03-26 10 views
-1

ListItemインデックスを取得する必要があるコードを実行したので、そのインデックスを別のFragmentに渡すことができます。これは、最初は働いていなかったので、私は、各項目はそう...ListItemインデックスは常に-1ですか?

songView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

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

      // Getting list item index 
      int songIndex = songView.getSelectedItemPosition(); 
      Toast.makeText(getActivity(), "Index number : " + " " + songIndex, Toast.LENGTH_SHORT).show();     

     } 
    }); 

のように持っていたもののインデックスをチェックするために乾杯を設定するが、私はをクリックし、各項目について、私はいつもIndexとして-1で終わります。どんな解決策ですか?ありがとう。

+0

そのメソッドに渡される 'position'パラメータを使用してください。 –

+0

indexの位置がすでに定義されています。それを使用してください。 –

答えて

-1

試してみてください。

int songIndex = position; 

代わりの

int songIndex = songView.getSelectedItemPosition();; 
0

パラメータint positionに渡しonItemClick方法。あなたはgetSelectedItemPosition()の代わりにそれを使用します。したがって、更新されたコードは次のようになります:

songView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

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

      // Getting list item index 
      int songIndex = position; 
      Toast.makeText(getActivity(), "Index number : " + " " + songIndex, Toast.LENGTH_SHORT).show();     

     } 
    });