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);

    }

  }

最终的实现效果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值