敲了敲自定义Adapter,把代码贴着。
package com.example.administrator.learnbaseadapter;
//这是主界面源码
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import com.example.administrator.learnbaseadapter.Adapter.MyAdapter;
public class MainActivity extends AppCompatActivity {
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate ( savedInstanceState );
setContentView ( R.layout.activity_main );
listView=(ListView)findViewById ( R.id.listView );
listView.setAdapter ( new MyAdapter ( MainActivity.this ) );
}
}
package com.example.administrator.learnbaseadapter.bean;
/**
* 这是一个Java Bean用于临时存储数据
*/
public class ListBean {
private int imageId;
private String text;
public int getImageId() {
return imageId;
}
public void setImageId(int imageId) {
this.imageId = imageId;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public ListBean(int imageId, String text) {
this.imageId = imageId;
this.text = text;
}
public ListBean() {
}
}
package com.example.administrator.learnbaseadapter.Adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.administrator.learnbaseadapter.R;
import com.example.administrator.learnbaseadapter.bean.ListBean;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2018/9/14.
*/
public class MyAdapter extends BaseAdapter {
LayoutInflater layoutInflater;
List<ListBean> mList=new ArrayList<> ( );
ViewHolder vh=new ViewHolder ();//必须new,防止空指针
public MyAdapter(Context context){
initData ();
layoutInflater=LayoutInflater.from ( context );
}
@Override
public int getCount() {
return mList.size ();
}//决定了有多少行数据
@Override
public Object getItem(int i) {
return mList.get ( i );
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if(view==null){
view=layoutInflater.inflate( R.layout.list_item ,null);
vh.imageView=view.findViewById ( R.id.item_image );
vh.textView=view.findViewById ( R.id.item_text );
view.setTag ( vh );
}
else{
vh= (ViewHolder) view.getTag ();
}
vh.imageView.setImageResource ( mList.get ( i ).getImageId ());
vh.textView.setText ( mList.get ( i ).getText ());
return view;
}
static class ViewHolder{
ImageView imageView;
TextView textView;
}
//测试方法,先填充些数据进来
public void initData(){
mList.add ( new ListBean ( R.drawable.banana2,"一名热爱自由的网友" ) );
mList.add ( new ListBean ( R.drawable.banana1,"一名热爱自由的球员" ) );
mList.add ( new ListBean ( R.drawable.banana2,"有人问我成功的秘诀" ) );
mList.add ( new ListBean ( R.drawable.banana5,"你看过凌晨四点的洛杉矶吗" ) );
mList.add ( new ListBean ( R.drawable.banana5,"你看过凌晨四点的洛杉矶吗" ) );
mList.add ( new ListBean ( R.drawable.banana1,"一名热爱自由的网友如是说" ) );
mList.add ( new ListBean ( R.drawable.banana1,"一名热爱自由的网友如是说" ) );
mList.add ( new ListBean ( R.drawable.banana1,"一名热爱自由的网友如是说" ) );
mList.add ( new ListBean ( R.drawable.banana1,"一名热爱自由的网友如是说" ) );
mList.add ( new ListBean ( R.drawable.banana1,"一名热爱自由的网友如是说" ) );
}
}
需要这个DEMO源码可以QQ找我1198735371。