android listview adater
16lz
2021-01-23
package com.demo.demo;import android.content.Context;import android.content.DialogInterface;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.Adapter;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.TextView;import android.widget.Toast;import java.util.ArrayList;import java.util.HashMap;import java.util.Objects;public class MainActivity extends AppCompatActivity { private Button btn,btn3; private TextView tx,tx3; private ListView lv,lv2,lv3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test); String[] str=new String[]{"one","two","three"}; init(); // arrayAdater 使用 // lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,str)); // lv.setAdapter(new ArrayAdapter<String>(this, // android.R.layout.simple_list_item_checked, str)); // lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); // // lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { // @Override // public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // Toast.makeText(MainActivity.this, "cd", Toast.LENGTH_LONG).show(); // } // }); // SimpleAdapter 使用 // ArrayList<HashMap<String,Object>> list = new ArrayList<HashMap<String, Object>>(); // // for(int i =0; i <10; i++){ // HashMap<String,Object> hashMap =new HashMap<String, Object>(); // // hashMap.put("Image",R.drawable.cc); // hashMap.put("text","niahoaa "+i); // list.add(hashMap); // } // SimpleAdapter simpleAdapter =new SimpleAdapter(this,list,R.layout.item,new String[]{"Image","text"},new int[]{R.id.img,R.id.tv}); // // lv2.setAdapter(simpleAdapter); // BaseAdater 使用 MyAdater myAdater = new MyAdater(this); lv3.setAdapter(myAdater); } private ArrayList<HashMap<String, Object>> getDate(){ ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>(); for(int i=0;i<10;i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemTitle", "第"+i+"行"); listItem.add(map); } return listItem; } public void init(){ lv=(ListView)findViewById(R.id.listview); lv2=(ListView)findViewById(R.id.ll); lv3=(ListView)findViewById(R.id.lv3); } private class MyAdater extends BaseAdapter{ private LayoutInflater layoutInflater; public MyAdater(Context context){ this.layoutInflater=LayoutInflater.from(context); } @Override public int getCount() { return getDate().size(); } @Override public int getItemViewType(int position) { return super.getItemViewType(position); } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if(convertView==null){ viewHolder =new ViewHolder(); convertView =layoutInflater.inflate(R.layout.item3,null); viewHolder.title=(TextView)convertView.findViewById(R.id.tv3); viewHolder.bt=(Button)convertView.findViewById(R.id.btn3); convertView.setTag(viewHolder); }else { viewHolder = (ViewHolder) convertView.getTag(); viewHolder.title.setText(getDate().get(position).get("ItemTitle").toString()); viewHolder.bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"cdcdcdc",Toast.LENGTH_LONG).show(); Log.v("Click","ni dian ji " + position); //Log.v("MyListViewBase", "你点击了按钮" + position); } }); } return convertView; } @Override public Object getItem(int position) { return null; } @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { return super.getDropDownView(position, convertView, parent); } @Override public long getItemId(int position) { return 0; } @Override public int getViewTypeCount() { return super.getViewTypeCount(); } } public final class ViewHolder{ public TextView title; public Button bt; }}
更多相关文章
- android按钮按下的效果
- Android在Button按钮上同时显示文字和图片
- Android(Java):按钮复选框点中效果
- Android——ImageButton【图片按钮】的点击事件与属性
- Android调用拨号按钮CALL_BUTTON
- Android设置一个按钮右对齐
- Android Studio按钮响应事件(三)
- android设置一个通用的控件,比如返回按钮
- android 使用xml selector设置按钮点击效果图片