我的目标是将项目永久添加到现有AlertDialog。
用于AlertDialog的XML阵列是:
<array name="serverchoice">
<item>@string/chicago_server</item>
<item>@string/london_server</item>
<item>@string/sanjose_server</item>
<item>@string/washington_server</item>
<item>@string/chicagoq_server</item>
<item>@string/londonq_server</item>
<item>@string/sanjoseq_server</item>
<item>@string/washingtonq_server</item>
</array>
正如你可以看到它的服务器列表,我想用户可以添加自己的服务器,而不必使用预设的服务器。
我创建了一个网页,一个文本框和一个按钮,这样用户就可以进入服务器。 当用户点击添加服务器按钮,我想添加到列表中的条目。
目前,当用户从AlertDialog选择一个菜单项就得到处理是这样的:
// Choose Server method
private void openServerDialog() {
new AlertDialog.Builder(this)
.setTitle(R.string.server_title)
.setItems(R.array.serverchoice,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialoginterface,
int i) {
setServer(i);
}
})
.show();
}
private void setServer(int i) {
if (String.valueOf(i).equals("0")){
CustomServer.setText("mcsord.visualware.com");
}
else if (String.valueOf(i).equals("1")){
CustomServer.setText("mcslhr.visualware.com");
}
else if (String.valueOf(i).equals("2")){
CustomServer.setText("mcssjc.visualware.com");
}
else if (String.valueOf(i).equals("3")){
CustomServer.setText("mcsiad.visualware.com");
}
else if (String.valueOf(i).equals("4")){
CustomServer.setText("qualitytestord.visualware.com");
}
else if (String.valueOf(i).equals("5")){
CustomServer.setText("qualitytestlhr.visualware.com");
}
else if (String.valueOf(i).equals("6")){
CustomServer.setText("qualitytestsjc.visualware.com");
}
else if (String.valueOf(i).equals("7")){
CustomServer.setText("qualitytestiad.visualware.com");
}
}
所有我想现在做的就是另一种永久性的项目,当用户选择添加一个。 我对此的最后一个问题是不够清楚。 我不想一个选项菜单或上下文菜单。
谢谢
编辑:
说完看了看四周更是我可以看到人们说这是不可能的动态添加到一个数组列表。
目前,我有提出自己当按下Android手机本身上的菜单按钮的optionsmenu。 我使用的代码是:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.settings_menu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.add_server:
addNewServer();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
是否有可能创建,而不是AlertDialog上面显示的另一个选项菜单和使用? 或者将我碰到一个列表项不能动态地添加了同样的问题。
我有一个用户输入自己的URL的能力,但它不保存它,他们不得不保持每次在键入它。
谢谢