LIstview的使用和数据填充
16lz
2022-06-19
1: 编写我们布局文件的代码:
<?xml version="1.0" encoding="utf-8"?>
java的文件:
package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { // todo------------> 成员变量 private ListView listview; // todo 创建我们的数组 private int[] img = new int[]{ // 在我们的这个位置的话是我们的先关的适配器 R.mipmap.one, R.mipmap.two, R.mipmap.three, }; private String[] str = new String[]{ "按钮1","按钮2","按钮3" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); } private void initData() { // todo -----------> 找到我们的id listview = (ListView) findViewById(R.id.listview); // todo -------------》 在我们的这个位置的话就是创建我们的相关的适配器 MyAdapter myAdapter = new MyAdapter(); listview.setAdapter(myAdapter); setOnClick(new OnClick() { @Override public void itemOnClick(int pos) { // todo ----------> 点击事件 Intent intent; switch (pos){ case 0: intent = new Intent(MainActivity.this, SecondActivity.class); Toast.makeText(MainActivity.this, "跳转成功", Toast.LENGTH_SHORT).show(); break; case 1: intent = new Intent(MainActivity.this, SecondActivity.class); Toast.makeText(MainActivity.this, "跳转成功", Toast.LENGTH_SHORT).show(); break; case 2: intent = new Intent(MainActivity.this, SecondActivity.class); Toast.makeText(MainActivity.this, "跳转成功", Toast.LENGTH_SHORT).show(); break; default: throw new IllegalStateException("Unexpected value: " + pos); } // todo ------------> 开启页面跳转 startActivity(intent); } }); } //todo -----------> 这个是我们的的适配器继承我们的baseadapter private class MyAdapter extends BaseAdapter { @Override public int getCount() { return img.length; } @Override public Object getItem(int position) { return img[position]; } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if(convertView == null){ convertView = LayoutInflater.from(MainActivity.this).inflate(R.layout.list_model,null); viewHolder = new ViewHolder(); viewHolder.imageModel = (ImageView) convertView.findViewById(R.id.image_model); viewHolder.text = (Button) convertView.findViewById(R.id.text); convertView.setTag(viewHolder); }else { viewHolder = (ViewHolder) convertView.getTag(); } // todo ----------> 数据填充 viewHolder.imageModel.setBackgroundResource(img[position]); viewHolder.text.setText(str[position]); viewHolder.text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onClick.itemOnClick(position); } }); return convertView; } } class ViewHolder{ ImageView imageModel; Button text; } // todo ------------》创建我们的接口 public interface OnClick{ void itemOnClick(int pos); } private OnClick onClick; public void setOnClick(OnClick onClick) { this.onClick = onClick; } }
第二个跳转页面的文件:
<?xml version="1.0" encoding="utf-8"?>
java文件及代码:
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;public class SecondActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); }}
布局的xml文件:
<?xml version="1.0" encoding="utf-8"?>
更多相关文章
- Android(安卓)sdk更新代理配置
- android 调用系统相机程序,存放文件夹创建不了(miui 2.3.9系统)
- Android(安卓)之 Gallery画廊用法
- android 下Excel操作
- Android下载完文件打开
- Android(安卓)对.properties文件的读取
- Delphi Android(安卓)USB声明文件
- Android(安卓)AsyncTask异步实现大文件下载
- NPM 和webpack 的基础使用