我有一个包含频道列表的提示框。
我想获得点击频道的价值。
这可能吗?
到目前为止,我有这个...
public void ShowChannelDialog(){
String[] channels = new String[_publicChannels.size()];
channels = _publicChannels.toArray(channels);
AlertDialog.Builder showChannel = new AlertDialog.Builder(this);
showChannel.setTitle("Channel List ("+(_publicChannels.size()-1)+" channels)");
showChannel.setItems(channels, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
_publicChannels.clear();
if (item == (_publicChannels.size())) {
System.out.println("NEW CHANNEL");
CreateNewChannel();
dialog.dismiss();
}else{
String channel = String.valueOf(item);
System.out.println("Selected: " + channel);
}
}
});
String.valueof(item)只给出了数组中的int值,我想要实际的文本值。
谢谢!
答案 0 :(得分:1)
而不是String.valueOf(item)
,请使用channels[item]
。您还需要制作频道final
。
答案 1 :(得分:1)
尝试以下
if (item == (_publicChannels.size())) {
System.out.println("NEW CHANNEL");
CreateNewChannel();
dialog.dismiss();
}else{
String channel = channels[item];
System.out.println("Selected: " + channel);
}
答案 2 :(得分:0)
退出时的示例确认对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
finish();
}
})
.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();