GridView是Android开发中非常常用的一个控件,它是一个二维网格视图,可以用来展示列表数据,GridView的使用非常简单,只需要设置一些基本属性,如适配器、布局管理器等,就可以轻松实现数据的展示,本文将通过一个简单的案例,详细讲解如何使用GridView控件。
铁东网站建设公司成都创新互联公司,铁东网站设计制作,有大型网站制作公司丰富经验。已为铁东1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的铁东做网站的公司定做!
1、在项目的res/layout
目录下创建一个名为activity_main.xml
的布局文件,用于放置GridView控件,在这个布局文件中,我们只需要添加一个GridView控件,并设置其基本属性。
2、接下来,在项目的src/main/java
目录下创建一个名为MainActivity.java
的Java类文件,用于处理与GridView相关的逻辑,在这个类文件中,我们需要完成以下几个步骤:
(1)初始化一个简单的数据列表;
(2)创建一个适配器,用于将数据列表绑定到GridView上;
(3)在主线程中设置适配器;
(4)为GridView添加点击事件监听器,实现点击单元格时的操作。
1、在MainActivity.java
中,首先初始化一个简单的数据列表:
public class MainActivity extends AppCompatActivity { private String[] data = {"苹果", "香蕉", "橙子", "梨子", "葡萄", "草莓", "西瓜", "柠檬", "芒果", "菠萝", "火龙果"};
2、创建一个适配器类MyAdapter
,继承自BaseAdapter
,用于将数据列表绑定到GridView上:
public class MyAdapter extends BaseAdapter { private Context context; private String[] data; private int[] imageIds; public MyAdapter(Context context, String[] data) { this.context = context; this.data = data; } @Override public int getCount() { return data.length; } @Override public Object getItem(int position) { return data[position]; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = View.inflate(context, R.layout.grid_item, null); viewHolder = new ViewHolder(); viewHolder.textView = convertView.findViewById(R.id.text); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.textView.setText(data[position]); return convertView; } }
3、在MainActivity.java
的onCreate
方法中,创建一个适配器实例,并在主线程中设置适配器:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GridView gridView = findViewById(R.id.gridView); ArrayAdapteradapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data); Handler handler = new Handler(Looper.getMainLooper()); // 注意这里需要使用主线程处理UI操作 Runnable runnable = new Runnable() { @Override public void run() { gridView.setAdapter(adapter); // 在主线程中设置适配器,避免出现ANR问题(Android无响应) } }; handler.post(runnable); // 将任务提交给主线程处理,确保UI更新在主线程中执行完毕,注意这里的handler是针对主线程的,所以不需要担心线程安全问题,如果没有Handler,也可以使用其他方式实现线程切换,比如使用AsyncTask,但是需要注意的是,AsyncTask已经被弃用,现在推荐使用Kotlin协程或者RxJava等异步框架,还需要注意的是,如果在子线程中直接修改UI元素,可能会导致ANR问题,在子线程中对UI元素进行修改时,需要先将修改结果回调到主线程中执行,在本例中,我们使用了Handler来实现线程切换。
分享题目:androidgridview控件的使用
分享URL:http://www.mswzjz.cn/qtweb/news15/62365.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能