我正在尝试将项目从 Dialog 交换到 ListView。举例来说,我有一个清单。播放器 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]);
}
});