zoukankan      html  css  js  c++  java
  • Android-----ListView组件使用(实现点击选择)

    在Android中的ListView选单组件,是以下列表方式来列出选项,供用户选择。

    ListView组件属性设置:

      创建spinner组件时,只需要设置一项entries属性即可使用。此属性是设置要放在列表中的文字内容,不可以像text View的text属性那样直接指定字符串,是必须先在value/string.xml中创建字符串数组,再将数组名指定给entri属性,当程序执行时就会列出数组内容。举个简单的例子:

    string.xml数组如下

    1 <string-array name="habit">
    2         <item>晨跑</item>
    3         <item>健身</item>
    4         <item>爬山</item>
    5         <item>游泳</item>
    6         <item>篮球</item>
    7         <item>足球</item>
    8 </string-array>

    布局文件代码如下:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout
     3     xmlns:android="http://schemas.android.com/apk/res/android"
     4     xmlns:tools="http://schemas.android.com/tools"
     5     android:layout_width="match_parent"
     6     android:layout_height="match_parent"
     7     android:orientation="vertical"
     8     tools:context="com.hs.example.exampleapplication.ListViewActivity">
     9 
    10     <TextView
    11         android:id="@+id/select"
    12         android:layout_width="match_parent"
    13         android:layout_height="wrap_content"
    14         android:gravity="center"
    15         android:textSize="25sp"
    16         android:text="请选择你喜欢的运动!"/>
    17 
    18     <ListView
    19         android:id="@+id/lv_sele"
    20         android:layout_width="match_parent"
    21         android:layout_height="wrap_content"
    22         android:entries="@array/habit">
    23 
    24     </ListView>
    25 
    26 </LinearLayout>

    逻辑处理代码如下:

     1 public class ListViewActivity extends AppCompatActivity implements AdapterView.OnItemClickListener{
     2 
     3     ListView listV ;
     4     ArrayList<String> selected = new ArrayList<>();
     5 
     6     @Override
     7     protected void onCreate(Bundle savedInstanceState) {
     8         super.onCreate(savedInstanceState);
     9         setContentView(R.layout.activity_listview);
    10 
    11         listV = this.findViewById(R.id.lv_sele);
    12         listV.setOnItemClickListener(this);
    13     }
    14 
    15     @Override
    16     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
    17         TextView textView = (TextView) view;        //被点击的view对象转换成textView对象
    18         String item = textView.getText().toString();//获取选中的文字
    19         if(selected.contains(item)){                //如果集合中已经有该选项,再次点击则删除
    20             selected.remove(item);
    21         }else{                                      //否则就添加进去
    22             selected.add(item);
    23         }
    24         String msg ;
    25         if(selected.size()>0){
    26             msg = "你喜欢的运动有:";
    27             for(String str : selected){             //遍历数组中的选项,转换成字符串添加到msg中
    28                 msg += str.toString() + "  |  ";
    29             }
    30         }else{
    31             msg = "请选择你喜欢的运动!";
    32         }
    33         TextView msgText = this.findViewById(R.id.select);
    34         msgText.setText(msg);
    35     }
    36 }

    运行效果如下图:

  • 相关阅读:
    好用的开源产品搜集;开源软件,开源系统,开源项目;
    windows10 双系统安装后,grub2 引导修复(亲自实验);grub2 命令行 手动加载内核;fedora 29 系统grub2引导修复;
    C 实战练习题目40
    C 实战练习题目39
    C 实战练习题目38
    C 实战练习题目37 – 排序
    C 实战练习题目36 – 求100之内的素数
    C 实战练习题目35 -字符串反转
    C 实战练习题目34
    C 实战练习题目33 – 质数(素数)判断
  • 原文地址:https://www.cnblogs.com/xiobai/p/10820370.html
Copyright © 2011-2022 走看看