简单的:
ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
listView.setAdapter(arrayAdapter);
自定义的:
public class MyArrayAdapter extends ArrayAdapter<MyList> { private int resourceId; public MyArrayAdapter(Context context,int textViewResourceId,List<MyList> object) { super(context,textViewResourceId,object); resourceId=textViewResourceId; } @Override public View getView(int position, View convertView, ViewGroup parent) { MyList myList=getItem(position); View view= LayoutInflater.from(getContext()).inflate(resourceId,null); ImageView imageView=(ImageView) view.findViewById(R.id.layoutImageView); TextView textView=(TextView) view.findViewById(R.id.layoutTextView); imageView.setImageResource(myList.imageId); textView.setText(myList.name); return view; } }
public class MyList { String name; int imageId; public MyList(String name,int imageId) { this.name=name; this.imageId=imageId; }
public class MainActivity extends AppCompatActivity { ListView listView; List<MyList> myLists=new ArrayList<MyList>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView=(ListView) findViewById(R.id.mainListView); init(); } private void init() { MyList myList=new MyList("a",R.drawable.userlogo); myLists.add(myList); myList=new MyList("b",R.drawable.userlogo); myLists.add(myList); } public void putDown(View v) { MyArrayAdapter adapter=new MyArrayAdapter(this,R.layout.layout,myLists); listView.setAdapter(adapter); } }
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/layoutImageView"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/layoutTextView"/>