• 安卓--ListView


    实验目的:

    学习使用ListView

    实验要求:

    实现一个列表,其中显示班级学号姓名,提供添加功能,如需要删去某一项,长按该项,通过弹出菜单显示删除功能。

     

     1 package com.flyuz.app3;
     2 
     3 import android.support.v7.app.AppCompatActivity;
     4 import android.os.Bundle;
     5 import android.view.View;
     6 import android.view.MenuItem ;
     7 import android.widget.Button;
     8 import android.widget.ListView;
     9 import android.widget.ArrayAdapter;
    10 import android.widget.EditText;
    11 import android.widget.PopupMenu;
    12 import android.widget.AdapterView;
    13 import java.util.List;
    14 import java.util.ArrayList;
    15 
    16 public class MainActivity extends AppCompatActivity {
    17     private Button bt_add;
    18     private ListView lv;
    19 
    20     @Override
    21     protected void onCreate(Bundle savedInstanceState) {
    22         super.onCreate(savedInstanceState);
    23         setContentView(R.layout.activity_main);
    24         init();
    25     }
    26 
    27     private void init() {
    28         bt_add = (Button) findViewById(R.id.bt_add);
    29         lv = (ListView) findViewById(R.id.lv);
    30         List<String> list = new ArrayList<String>();
    31         list.add("班级" + "                    " + "学号" + "                    " + "姓名");
    32         list.add("se1" + "             " + "2016012884" + "                 " + "张三");
    33         ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
    34         lv.setAdapter(adapter);
    35 
    36         //设置事件
    37         bt_add.setOnClickListener(new View.OnClickListener() {
    38             public void onClick(View v) {
    39                 EditText et_class = (EditText) findViewById(R.id.et_class);
    40                 EditText et_number = (EditText) findViewById(R.id.et_number);
    41                 EditText et_name = (EditText) findViewById(R.id.et_name);
    42                 String str_class = et_class.getText().toString();
    43                 String str_number = et_number.getText().toString();
    44                 String str_name = et_name.getText().toString();
    45 
    46                 ArrayAdapter add_adp = (ArrayAdapter) lv.getAdapter();
    47                 add_adp.add(str_class + "             " + str_number + "             " + str_name);
    48             }
    49         });
    50         lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
    51             @Override
    52             public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
    53                 if (id > 0) {
    54                     PopupMenu popup = new PopupMenu(MainActivity.this, view);
    55                     popup.getMenuInflater().inflate(R.menu.menu, popup.getMenu());
    56                     popup.show();
    57                     popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
    58                         @Override
    59                         public boolean onMenuItemClick(MenuItem item) {
    60                             switch (item.getItemId()) {
    61                                 case R.id.menu_del:
    62                                     ArrayAdapter temp_adp = (ArrayAdapter) lv.getAdapter();
    63                                     temp_adp.remove(temp_adp.getItem(position));
    64                                     return true;
    65                                 default:
    66                                     return false;
    67                             }
    68                         }
    69                     });
    70                 }
    71                 return true;
    72             }
    73         });
    74     }
    75 }
    MainActivity
     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     xmlns:app="http://schemas.android.com/apk/res-auto"
     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.flyuz.app3.MainActivity">
     9 
    10     <LinearLayout
    11         android:layout_width="match_parent"
    12         android:layout_height="200dp"
    13         android:gravity="center"
    14         android:orientation="vertical">
    15 
    16         <LinearLayout
    17             android:layout_width="match_parent"
    18             android:layout_height="50dp"
    19             android:gravity="center"
    20             android:orientation="horizontal">
    21 
    22             <TextView
    23                 android:layout_width="50dp"
    24                 android:layout_height="40dp"
    25                 android:gravity="center"
    26                 android:text="班级:" />
    27 
    28             <EditText
    29                 android:id="@+id/et_class"
    30                 android:layout_width="150dp"
    31                 android:layout_height="40dp" />
    32         </LinearLayout>
    33 
    34         <LinearLayout
    35             android:layout_width="match_parent"
    36             android:layout_height="50dp"
    37             android:gravity="center"
    38             android:orientation="horizontal">
    39 
    40             <TextView
    41                 android:layout_width="50dp"
    42                 android:layout_height="40dp"
    43                 android:gravity="center"
    44                 android:text="学号:" />
    45 
    46             <EditText
    47                 android:id="@+id/et_number"
    48                 android:layout_width="150dp"
    49                 android:layout_height="40dp" />
    50         </LinearLayout>
    51 
    52         <LinearLayout
    53             android:layout_width="match_parent"
    54             android:layout_height="50dp"
    55             android:gravity="center"
    56             android:orientation="horizontal">
    57 
    58             <TextView
    59                 android:layout_width="50dp"
    60                 android:layout_height="40dp"
    61                 android:gravity="center"
    62                 android:text="姓名:" />
    63 
    64             <EditText
    65                 android:id="@+id/et_name"
    66                 android:layout_width="150dp"
    67                 android:layout_height="40dp" />
    68         </LinearLayout>
    69 
    70         <Button
    71             android:id="@+id/bt_add"
    72             android:layout_width="180dp"
    73             android:layout_height="40dp"
    74             android:text="添加" />
    75 
    76     </LinearLayout>
    77     <ListView
    78         android:id="@+id/lv"
    79         android:layout_width="match_parent"
    80         android:layout_height="wrap_content"
    81         android:longClickable="true" />
    82 
    83 </LinearLayout>
    layoutactivity_main.xml
    1 <?xml version="1.0" encoding="utf-8"?>
    2 <menu xmlns:android="http://schemas.android.com/apk/res/android">
    3     <item
    4         android:id="@+id/menu_del"
    5         android:title="删除">
    6     </item>
    7 </menu>
    menumenu.xml
  • 相关阅读:
    移动自动化测试平台技术架构与智能设备选型
    自动遍历回归测试工具
    PO模式自动化测试用例与测试框架封装改造
    Appium自动化测试之IOS WebView和Safari
    微信小程序自动化测试
    Android Native和Hybrid两种架构采用Appium进行UI自动化
    JavaScript学习 Ⅶ
    JavaScript学习 Ⅵ (正则表达式)
    JavaScript学习 Ⅴ
    JavaScript学习 Ⅳ
  • 原文地址:https://www.cnblogs.com/flyuz/p/9904194.html
Copyright © 2020-2023  润新知