AI开发实战7-列表显示框(Listview)的定制
Posted xjbclz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AI开发实战7-列表显示框(Listview)的定制相关的知识,希望对你有一定的参考价值。
6 列表显示框(Listview)的定制
AppInventor2提供的列表显示框,用户可以设置是否在其上显示搜索框,但搜索框中显示的提示字符串为英文,可修改为中文。
列表提示框的源码文件是ListView.java,修改的代码如下:
//txtSearchBox.setHint("Searchlist...");
txtSearchBox.setHint("搜索列表...");
点击列表选择框时,也会显示列表提示框,列表选择框的源码文件是ListPicker.java,点击列表选择框,调用ListPickerActivity显示列表框,修改ListPickerActivity.java的代码如下:
//txtSearchBox.setHint("Searchlist...");
txtSearchBox.setHint("搜索列表...");
最终实现效果如下:
android系统还提供了其它形式的列表显示框,如下图所示:
在每个Item的最右边有个单选按钮,想要实现此种形式的单选按钮,也需要修改ListView.java的代码:
//标识是否使用具有单选按钮的列表显示框
private boolean singleChoice = true;
public void setAdapterData()
if(!singleChoice)
//App Invetor2默认提供的列表显示框
adapter = new ArrayAdapter<Spannable>(container.$context(),android.R.layout.simple_list_item_1,
itemsToColoredText());
else
//创建具有单选按钮的列表显示框,布局文件和上面不同
adapter = new ArrayAdapter<Spannable>(container.$context(),android.R.layout.simple_list_item_single_choice,
itemsToColoredText());
//Android系统还支持在列表框中的多选,在此设置为单选模式 、、CHOICE_MODE_SINGLE = 1
view.setChoiceMode(1);
view.setAdapter(adapter);
if (!singleChoice)
adapterCopy = new ArrayAdapter<Spannable>(container.$context(),android.R.layout.simple_list_item_1);
else
adapterCopy = new ArrayAdapter<Spannable>(container.$context(),android.R.layout.simple_list_item_single_choice);
for (int i = 0; i < adapter.getCount(); ++i)
adapterCopy.insert(adapter.getItem(i), i);
最终的实现效果如下:
以上是关于AI开发实战7-列表显示框(Listview)的定制的主要内容,如果未能解决你的问题,请参考以下文章