永发信息网

在android中,如何把 listview添加到AlertDailog中?如何能做到可以在对话框里动态添加列表框?

答案:2  悬赏:30  手机版
解决时间 2021-02-07 02:18
  • 提问者网友:你独家记忆
  • 2021-02-06 13:09
new AlertDialog.Builder(this).setTitle("列表框").setItems(
new String[] { "Item1", "Item2" }, null).setNegativeButton(
"确定", null).show();
上面的代码是不能动态添加列表,只能是设定多少个就显示多少个。我是想把new String[] { "Item1", "Item2" }换掉,根据参数来决定要显示多少个!搞了很久都搞不出来,下面的代码,请各位帮忙看看,
String Routes[]={"1","2","3","4","5","6","7","8","9","10"};
ArrayList data = new ArrayList();
for (int i = 0; i < 5; i++) {
data.add(Routes[i]);
}
ListAdapter listdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,data);
new AlertDialog.Builder(TestdialogActivity.this)
.setAdapter(listdapter, new DialogInterface.OnClickListener(){ @Override
public void onClick(DialogInterface dialog, int which) {
}
}).show();
上面的代码可以达到我想要的动态效果,设定for循环的参数就可以,但很郁闷,显示结果是数组里的数字是不可见的,要用鼠标滑动到相应项才会可见!这样的效果很不爽!
我知道原因是适配器还没有添加到列表中,所以显示结果不可见,但是在AlertDialog中那样做是不行的!
谁知道在AlertDialog中可以把数字显示可见?有或者有什么其他办法可以达到同样的效果?帮帮忙啊!
最佳答案
  • 五星知识达人网友:舊物识亽
  • 2021-02-06 13:43
不是不可见,是默认字体颜色和列表颜色一致了,看不出来
在simple_list_item_1里面设定好TextView的textColor的颜色,否则默认好像系统会给你加上一个默认的效果,就是item按下时字体颜色是会变的,所以你在滑动到对应项才看到效果,呵呵
全部回答
  • 1楼网友:笑迎怀羞
  • 2021-02-06 14:26
根本看不清错误的原因是什么,不过看你的源代码,大概看到了。有两个方法。 1: 你用的是listactivity,那么你在xml文件里的textview的名字应该这样写,android:id="@android:id/list"而不是android:id="@+id/listview" 然后在listactivity中就不用对这个listview用findviewbyid这个方法了 要显示listview用这个方法 setlistview(adapter); 这个adapter就是指的你定义的listview的成员变量 。 第二个方法:其他的都不改,把listactivity改成activity。这样你所使用的listview的定义方法就可以用了。 如果还有其他问题,你最好还是发出代码来,这图片很难看清。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯