实验三 UI设计(二)

实验三 UI设计(二)

实验目的

学习使用ListView

实验要求

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

在这里插入图片描述

工程代码

项目工程结构图
在这里插入图片描述

activity_main.xml:

<?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.example.wyx.exp_3.MainActivity"
    tools:layout_editor_absoluteX="0dp"
    tools:layout_editor_absoluteY="81dp">

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="370dp"
        android:layout_height="200dp"
        android:layout_marginEnd="6dp"
        android:layout_marginStart="6dp"
        android:layout_marginTop="8dp"
        android:orientation="vertical"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:layout_constraintLeft_creator="1"
        tools:layout_constraintRight_creator="1"
        tools:layout_constraintTop_creator="1">

        <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/Class"
                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/number"
                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/name"
                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" />
</LinearLayout>



MainActivity:

package com.example.wyx.exp_3;

import android.content.Context;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.PopupMenu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {


    @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 OnClickListener(){
            @Override
            public void onClick(View v) {
                    EditText Class=(EditText)findViewById(R.id.Class);
                    EditText name=(EditText)findViewById(R.id.name);
                    EditText number=(EditText)findViewById(R.id.number);
                    ArrayAdapter temp=(ArrayAdapter) lv1.getAdapter();
                    temp.add(Class.getText().toString()+"        "+number.getText().toString()+"       "+name.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;
            }
        });

        }
}

AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.wyx.exp_3">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

simple_menu1.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>

</menu>

实现效果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39699765/article/details/84311607
今日推荐