实验目的:

学习使用ListView

实验要求:

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

 package com.flyuz.app3;

 import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.MenuItem ;
import android.widget.Button;
import android.widget.ListView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.PopupMenu;
import android.widget.AdapterView;
import java.util.List;
import java.util.ArrayList; public class MainActivity extends AppCompatActivity {
private Button bt_add;
private ListView lv; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
} private void init() {
bt_add = (Button) findViewById(R.id.bt_add);
lv = (ListView) findViewById(R.id.lv);
List<String> list = new ArrayList<String>();
list.add("班级" + " " + "学号" + " " + "姓名");
list.add("se1" + " " + "2016012884" + " " + "张三");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
lv.setAdapter(adapter); //设置事件
bt_add.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
EditText et_class = (EditText) findViewById(R.id.et_class);
EditText et_number = (EditText) findViewById(R.id.et_number);
EditText et_name = (EditText) findViewById(R.id.et_name);
String str_class = et_class.getText().toString();
String str_number = et_number.getText().toString();
String str_name = et_name.getText().toString(); ArrayAdapter add_adp = (ArrayAdapter) lv.getAdapter();
add_adp.add(str_class + " " + str_number + " " + str_name);
}
});
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
if (id > 0) {
PopupMenu popup = new PopupMenu(MainActivity.this, view);
popup.getMenuInflater().inflate(R.menu.menu, popup.getMenu());
popup.show();
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_del:
ArrayAdapter temp_adp = (ArrayAdapter) lv.getAdapter();
temp_adp.remove(temp_adp.getItem(position));
return true;
default:
return false;
}
}
});
}
return true;
}
});
}
}

MainActivity

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.flyuz.app3.MainActivity"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:gravity="center"
android:orientation="vertical"> <LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal"> <TextView
android:layout_width="50dp"
android:layout_height="40dp"
android:gravity="center"
android:text="班级:" /> <EditText
android:id="@+id/et_class"
android:layout_width="150dp"
android:layout_height="40dp" />
</LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal"> <TextView
android:layout_width="50dp"
android:layout_height="40dp"
android:gravity="center"
android:text="学号:" /> <EditText
android:id="@+id/et_number"
android:layout_width="150dp"
android:layout_height="40dp" />
</LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal"> <TextView
android:layout_width="50dp"
android:layout_height="40dp"
android:gravity="center"
android:text="姓名:" /> <EditText
android:id="@+id/et_name"
android:layout_width="150dp"
android:layout_height="40dp" />
</LinearLayout> <Button
android:id="@+id/bt_add"
android:layout_width="180dp"
android:layout_height="40dp"
android:text="添加" /> </LinearLayout>
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:longClickable="true" /> </LinearLayout>

layout\activity_main.xml

 <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_del"
android:title="删除">
</item>
</menu>

menu\menu.xml

最新文章

  1. HTML5来回拖动实例
  2. Linux 学习手记(3):Linux基本的文件管理操作
  3. an&#39;gularjs 环境搭建之NodeJS、NPM安装配置步骤(windows版本)
  4. XML学习笔记(二)-- DTD格式规范
  5. vim 代码
  6. jquery动态加载JS【方法getScript】的改进
  7. A.xml
  8. systemtap [主设备号,次设备好,inode]监控文件
  9. HDOJ(HDU) 2161 Primes(素数打表)
  10. MySQL的InnoDB和MyISAM比较
  11. MD5碰撞后时代,MD5还有存在的意义吗?
  12. 【luogu P2002】消息扩散
  13. electron开发客户端注意事项(兼开源个人知识管理工具“想学吗”)
  14. TCP 原理
  15. CentOS下安装Jenkins(Docker/war/tomcat/java -jar)
  16. vue 自学笔记(5) 列表渲染
  17. 30、Java中Set集合之HashSet、TreeSet和EnumSet
  18. mongodb 修改openfiles方法
  19. 安装mysql解压 版
  20. 【神仙题】【P4885】 灭顶之灾

热门文章

  1. jQuery.extend()方法
  2. OracleParameter中参数名必须是DB中已有字段:【 ORA-01745: 无效的主机/绑定变量名】
  3. java流类基础练习。
  4. Java-API:java.util.map
  5. AngularJS:表单
  6. Celery-4.1 用户指南: Signals (信号)
  7. vuex的实用知识点
  8. 使用spring-loaded实现应用热部署
  9. apache server和tomcat集群配置一:水平负载
  10. Mac系统下MySql下载MySQL5.7及详细安装流程