GridView监听器

mac2022-06-30  59

package com.example.wang.testapp2; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; public class TestActivity10 extends AppCompatActivity { GridView gv_1; List<Integer> liv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test10); //1-数据 liv=new ArrayList<>(); liv.add(R.drawable.f1); liv.add(R.drawable.f2); liv.add(R.drawable.f3); liv.add(R.drawable.f4); liv.add(R.drawable.f5); liv.add(R.drawable.f6); liv.add(R.drawable.f7); liv.add(R.drawable.f8); final ImageAdapter im=new ImageAdapter(); gv_1=(GridView)findViewById(R.id.gv_1); gv_1.setAdapter(im); gv_1.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(TestActivity10.this, "被点击的图片索引" + position, Toast.LENGTH_SHORT).show(); } }); //长按删除的监听器 gv_1.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { //1.实现删除数据 //从集合里删除长按的那一条 liv.remove(position); //2.刷新视图,看到效果 //通知适配器,数据源改变了 im.notifyDataSetChanged(); Toast.makeText(TestActivity10.this, "删除了记录索引=" + position, Toast.LENGTH_SHORT).show(); return true;//事件已经被消费,不要在处理了 } }); } //适配器 class ImageAdapter extends BaseAdapter { @Override public int getCount() { return liv.size(); } @Override public Object getItem(int position) { return liv.get(position); } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { //1-得到数据 图片的id Integer ivid=liv.get(position); //2-准备视图View if (convertView==null) { convertView = new ImageView(TestActivity10.this); } //3-适配 //项目转换 ImageView imageView=(ImageView)convertView; imageView.setImageResource(ivid); // imageView.setMaxWidth(70); // imageView.setMaxHeight(70); imageView.setLayoutParams(new GridView.LayoutParams(120,120)); return imageView; } } } java <?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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.wang.testapp2.TestActivity10"> <GridView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/gv_1" android:numColumns="4" android:stretchMode="columnWidth" android:gravity="center" android:horizontalSpacing="30dp" android:verticalSpacing="30dp" android:columnWidth="120dp"></GridView> </LinearLayout> xml

转载于:https://www.cnblogs.com/wangchuanqi/p/5515086.html

相关资源:android Gridview长按监听事件
最新回复(0)