ダイアログからリストビューにアイテムを交換しようとしています。たとえば、リストがあるとします。プレーヤー 1、プレーヤー 2、プレーヤー 3。リストからアイテムを選択したら、プレーヤー 1 とします。ダイアログが開き、プレーヤー 2 とプレーヤー 3 が表示されます。ダイアログからプレーヤー 3 を選択した後。リストは、プレイヤー 3、プレイヤー 2、プレイヤー 1 のようになります。
ListView アイテムの開始順序:
プレイヤー1 プレイヤー2 プレイヤー3
ダイアログの順序: プレーヤー 2 プレーヤー 3
スワップ後
プレイヤー 3 プレイヤー 2 プレイヤー 1
これはどのように行うことができますか?任意のアルゴリズムまたはサンプル コードを高く評価します。ありがとうございました。
私が間違っている場合は修正してください。
これが私が試みていることです。
public void onClick(View v) {
final Dialog dialog = new Dialog(getActivity());
dialog.setContentView(R.layout.custom);
dialog.setTitle(playerData.getDisplayPlayerName());
final ListView wrActivePlayerList = (ListView) dialog.findViewById(R.id.activePlayerListName);
final ArrayAdapter<String> activePlayer = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, qbActivePlayer);
wrActivePlayerList.setAdapter(activePlayer);
wrActivePlayerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
System.out.println("Item Clicked");
TextView playerName = (TextView)playerDataView.findViewById(R.id.playername);
for (int i = 0;i < ((ViewGroup) playerDataView).getChildCount(); i++)
{
// TextView txtView = (TextView)((ViewGroup) playerDataView).getChildAt(i); //(TextView) ((ViewGroup) playerDataView).getChildAt(i);
TextView txtView = (TextView)playerDataView.findViewById(R.id.widget_lineupview_playerdata_playername);
if (txtView != null)
{
if (txtView.getText() == qbActivePlayer[arg2])
{
txtView.setText(playerData.getDisplayPlayerName());
}
}
} playerName.setText(wrActivePlayer[arg2]);
}
});