0

リストアイテムのテキスト値を取得し、リストアイテムがクリックされたときに別のフラグメントの編集テキストに渡したいとします。OnItemリストビューからクリックしたアイテムのテキスト値を取得する方法

ここに値を取得し、それを他のフラグメントに渡すコードを示します。

lv_categories.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
      String clickedItem = adapterView.getItemAtPosition(i).toString().trim(); 
      SM.sendData(clickedItem); 
     } 
    }); 

送信データ方式

@Override 
public void sendData(String message) { 
    String tag = "android:switcher:" + R.id.container + ":" + 1; 
    SearchFragment searchFragment = (SearchFragment) getSupportFragmentManager().findFragmentByTag(tag); 
    searchFragment.displayReceivedData(message); 
} 

私がデータを受信することができていますが、例えば表示されていないよう。リストアイテム「クリスマス」を受け取る代わりに、「[email protected]」のようなものが表示されます

また、クリック時にフラグメントを変更することはできますか?

ご協力いただきありがとうございます。

+0

あなたが質問 – Prem

+0

でlistviewに渡すモデルクラスを共有しています。https://stackoverflow.com/questions/47363151/getting-the-values-of-listview-selected-item/47363188#47363188 –

答えて

1

私はデータを受け取ることができますが、例えば表示されていません。代わりに、リストアイテム「クリスマス」を受信すると、私は「[email protected]」あなたのカスタムモデルクラスではないString値を返す

adapterView.getItemAtPosition(i)ためマイトのようなものを取得しています

あなたは明らかにを印刷しstringからclassを変換この

lv_categories.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
       YourModelClass data = adapterView.getItemAtPosition(i); 

       SM.sendData(data.getMessage); 
      } 
     }); 
0

をお試しくださいオフセットあり、試してみてください

lv_categories.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
      String clickedItem = ((Category)adapterView.getItemAtPosition(i)).getMyTextproperty(); 
      SM.sendData(clickedItem); 
     } 
    }); 
0

- >adapterView.getItemAtPosition(i)文字列ではありません!

ですから、あなたのモデルクラスを共有することができれば、それは良いです

String clickedItem = adapterView.getItemAtPosition(i).toString().trim(); 

と、

String clickedItem = ((Category)adapterView.getItemAtPosition(i)).getMyTextproperty(); 

-------、交換してください。

関連する問題