androidinflate詳解 androidlistview的用法( 二 )


ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);適配重代碼如次:
public class myAdapter extends ArrayAdapter {private final int ImageId;private String radiotext;public myAdapter(Context context, int headImage, List<myBean> obj){super(context,headImage,obj);ImageId = headImage;//這個是傳入咱們本人設置的界面}@NonNull@Overridepublic View getView(final int position, @Nullable View convertView, @NonNull ViewGroup parent) {myBean myBean = (myBean) getItem(position);View view = LayoutInflater.from(getContext()).inflate(ImageId,parent,null);//這個是范例化一個咱們本人寫的界面ItemLinearLayout linearLayout = view.findViewById(R.id.ll_view);ImageView headImage = view.findViewById(R.id.headimage);TextView headText = view.findViewById(R.id.headtext);RadioGroup radio = view.findViewById(R.id.radioBtn);headImage.setImageResource(myBean.getImageID());headText.setText(myBean.getText());radio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {//查看Radio Button誰人被點擊了@Overridepublic void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {switch (i){case R.id.radio1:radiotext = "不打";break;case R.id.radio2:radiotext = "打他";break;}}});linearLayout.setOnClickListener(new View.OnClickListener() {//查看哪一項被點擊了@Overridepublic void onClick(View view) {Toast.makeText(getContext(),"你點擊了第"+position+"項"+"你采用"+radiotext,Toast.LENGTH_SHORT).show();}});return view; }}此刻適配重也寫好了 , 你看定制ListView的2個辦法是否就如許就被咱們處置了 , 而后咱們就差適配了 。接下來咱們來做一下適配:
public class MainActivity extends AppCompatActivity {private List<myBean> myBeanList = new ArrayList<>();//用來寄存數據的數組@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView listView = (ListView) findViewById(R.id.listview);init();myAdapter adapter = new myAdapter(MainActivity.this,R.layout.myitem,myBeanList);listView.setAdapter(adapter);}private void init(){//初始化數據myBean bean1 = new myBean("aa",R.mipmap.ic_launcher);myBeanList.add(bean1);myBean bean2 = new myBean("ss",R.mipmap.ic_launcher);myBeanList.add(bean2);myBean bean3 = new myBean("jj",R.mipmap.ic_launcher);myBeanList.add(bean3);myBean bean4 = new myBean("hh",R.mipmap.ic_launcher);myBeanList.add(bean4);myBean bean5 = new myBean("dd",R.mipmap.ic_launcher);myBeanList.add(bean5);myBean bean6 = new myBean("cc",R.mipmap.ic_launcher);myBeanList.add(bean6);myBean bean7 = new myBean("bb",R.mipmap.ic_launcher);myBeanList.add(bean7);myBean bean8 = new myBean("jj",R.mipmap.ic_launcher);myBeanList.add(bean8);myBean bean9 = new myBean("kk",R.mipmap.ic_launcher);myBeanList.add(bean9);}做到這邊我想大師都簡直發端控制了如何定制ListView了吧?哦對了!我在寫適配重的功夫特地把監聽事變寫進去了 , 固然在主類寫也是不妨的 , 然而不倡導如許做 。至于干什么?你本人試試就領會了 , 由于紙上得來終覺淺嘛 。
結果上一張功效圖吧:
【androidinflate詳解androidlistview的用法】創造有許多BUG呢!然而那都不是事 , 究竟沒有哪個APP是沒有BUG的是否?

推薦閱讀