当前位置 : 主页 > 编程语言 > java >

adapter

来源:互联网 收集:自由互联 发布时间:2021-06-28
MainActivity.java package com.example.listviewtest;import android.content.Context;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewG
MainActivity.java
package com.example.listviewtest;


import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**/
public class MainActivity extends AppCompatActivity {
    private ListView mlistview;
    private List
 
  > Data;
    private int[] imgids={
            R.drawable.apple_pic,
            R.drawable.banana_pic,
            R.drawable.cherry_pic,
            R.drawable.watermelon_pic,
            R.drawable.orange_pic};
    private String[] name={"苹果","香蕉","樱桃","西瓜","橙子"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
      /*

        //Arrayadapterf方法
         private String[] data = {"shanggai", "asdkjasd", "asdasdas"};
         mlistview= (ListView) findViewById(R.id.list_view);
         mlistview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
            public void onItemClick(AdapterView
   parent, View view, int position, long id) {
                Toast.makeText(MainActivity.this,"你选择的城市是:"+data[position],Toast.LENGTH_SHORT).show();
               }
          });
        ArrayAdapter
  
    adapter=new ArrayAdapter
   
    ( this, android.R.layout.simple_list_item_1, android.R.id.text1,data); mlistview.setAdapter(adapter); */ //2.simpleAdapter 方法 /*ToData(); mlistview = (ListView) findViewById(R.id.list_view); SimpleAdapter adapter1 = new SimpleAdapter(this, Data, R.layout.fruit_item, new String[]{"fruit_age", "fruit_name"}, //显示数据在数据源中的key new int[]{R.id.fruit_age, R.id.fruit_name} );//显示数据控件的id mlistview.setAdapter(adapter1);*/ //3.BaseAdapter方法 mlistview= (ListView) findViewById(R.id.list_view); mlistview.setAdapter(new MyAdapter()); } /* private void ToData() { Data = new ArrayList
    
     >(); Map
     
       stu = new HashMap<>(); stu.put("fruit_age", "30"); stu.put("fruit_name", "苹果"); Data.add(stu); Map
      
        stu2 = new HashMap<>(); stu2.put("fruit_age", "40"); stu2.put("fruit_name", "xiangjiao"); Data.add(stu2); }*/ class MyAdapter extends BaseAdapter { /** * 数据源中项的个数 * @return */ @Override public int getCount() { return name.length; } /** * 相应的项 * @param position 项的索引 * @return */ @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } /** * 相应的项要显示的view * @param position * @param convertView * @param parent * @return */ @Override public View getView(int position, View convertView, ViewGroup parent) { //1.将布局文件转化为View对象 View view = View.inflate(MainActivity.this,R.layout.fruit_two, null); //2.填充当前项的数据 ImageView imageView = (ImageView) view.findViewById(R.id.iv); imageView.setImageResource(imgids[position]); TextView tv = (TextView) view.findViewById(R.id.tv); tv.setText(name[position]); return view; } } }
      
     
    
   
  
 
fruit_two.xml
 

 

    
  

    
  

 
activity_main.xml
网友评论