如何删除点击词在GridView使用android studio



嗨,我想从Gridview中删除点击的单词,但我不知道怎么做?例如,如果我想删除,例如"房子",我应该点击它,它将被删除。我试图使用onclick,但我得到一个错误。

mainActivity:
package com.example.hi.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.GridView;
import java.util.ArrayList;
public class MainActivity extends Activity {
GridView gv;
ArrayList<String> names = new ArrayList<String>();
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    names.add("hi");
    names.add("go");
    names.add("went");
    names.add("house");
    names.add("home");
    names.add("blind");
    names.add("ears");
    names.add("hear");

    gv = (GridView) findViewById(R.id.gridview_id);
    //adapter
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, names);
    gv.setAdapter(adapter);
}
}

my XML code:

<?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:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context="com.example.hi.myapplication.MainActivity">
    <GridView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/textView"
        android:layout_toRightOf="@+id/textView"
        android:layout_toEndOf="@+id/textView"
        android:numColumns="auto_fit"
        android:id="@+id/gridview_id" />
</LinearLayout>

首先设置一个OnItemClickListener,然后在块中添加代码来删除一个项目

gridView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View v,
                int position, long id) {
           names.remove(position);              
           adapter.notifyDataSetChanged();
        }
    });

最新更新