Android实验3:学习使用ListView

2023-05-16

学习使用ListView

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


MainActivity.java

import android.app.Activity;
import android.os.Bundle;
import android.widget.AdapterView;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.EditText;
import android.widget.Button;
import android.widget.PopupMenu;
import android.view.MenuItem;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button bt1=(Button)findViewById(R.id.bt1);
        final ListView lv1=(ListView)findViewById(R.id.lv1);

        List<String> list=new ArrayList<String>();
        list.add("班级"+"                   "+"学号"+"                   "+"姓名");
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
        lv1.setAdapter(adapter);

        bt1.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v)
            {
                EditText et_c,et_a,et_n;
                et_c=(EditText)findViewById(R.id.et_c);
                et_a=(EditText)findViewById(R.id.et_a);
                et_n=(EditText)findViewById(R.id.et_n);
                ArrayAdapter temp_adp=(ArrayAdapter) lv1.getAdapter();
                temp_adp.add(et_c.getText().toString()+"   "+et_a.getText().toString()+"     "+et_n.getText().toString());
            }
        });

        lv1.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.simple_menu1, popup.getMenu());
                    popup.show();
                    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                        @Override
                        public boolean onMenuItemClick(MenuItem item) {
                            switch (item.getItemId()) {
                                case R.id.menu1:
                                ArrayAdapter temp_adp = (ArrayAdapter) lv1.getAdapter();
                                    temp_adp.remove(temp_adp.getItem(position));
                                    return true;
                                default:
                                    return false;
                            }
                        }
                    });
                }
        return true;
        }
        });
    }
}


activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.administrator.listviewexp.MainActivity">

    <LinearLayout
        android:layout_width="370dp"
        android:layout_height="200dp"
        android:layout_marginBottom="8dp"
        android:orientation="vertical"
        tools:layout_editor_absoluteX="8dp"
        tools:layout_editor_absoluteY="0dp">

        <LinearLayout
            android:layout_width="370dp"
            android:layout_height="50dp"
            android:orientation="horizontal">

            <TextView
                android:layout_width="50dp"
                android:layout_height="29dp"
                android:text="班级:" />

            <EditText
                android:id="@+id/et_c"
                android:layout_width="150dp"
                android:layout_height="40dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="370dp"
            android:layout_height="50dp"
            android:orientation="horizontal">

            <TextView
                android:layout_width="50dp"
                android:layout_height="29dp"
                android:text="学号:" />

            <EditText
                android:id="@+id/et_a"
                android:layout_width="150dp"
                android:layout_height="40dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="370dp"
            android:layout_height="50dp"
            android:orientation="horizontal">

            <TextView
                android:layout_width="50dp"
                android:layout_height="29dp"
                android:text="姓名:" />

            <EditText
                android:id="@+id/et_n"
                android:layout_width="150dp"
                android:layout_height="40dp" />
        </LinearLayout>

        <Button
            android:id="@+id/bt1"
            android:layout_width="80dp"
            android:layout_height="40dp"
            android:text="添加" /></LinearLayout>

    <ListView
        android:id="@+id/lv1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:longClickable="true">

    </ListView>

</LinearLayout>

simple_main1.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/menu1"
        android:orderInCategory="100"
        android:title="删除"></item>
    <item
    android:title="复制"></item>
</menu>


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android实验3:学习使用ListView 的相关文章

随机推荐