android之ListView

ListView填充数据用SetAdapter方法,必须继承抽象类ListAdapter,这个类要实现的方法较多,Google工程师为简化操作,只需实现BaseAdapter即可。
主要实现两个方法:getCount()方法和getView(int position, View arg1, ViewGroup arg2)方法;
getCount返回条数,即ListView显示几条在这里设置,getView()返回内容。
示例:
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView android:id="@+id/listViewTest"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
Java代码:给ListView填充数据
public class MainActivity extends Activity {
ListView listViewTest;
String [] datas=new String []{"姜小A","A忠","黄苗"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listViewTest =(ListView) findViewById(R.id.listViewTest);
listViewTest.setAdapter(new MyAdapter());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

private class MyAdapter extends BaseAdapter{

@Override
public int getCount() {
// TODO 自动生成的方法存根
return datas.length;
}

@Override
public Object getItem(int arg0) {
// TODO 自动生成的方法存根
return null;
}

@Override
public long getItemId(int arg0) {
// TODO 自动生成的方法存根
return 0;
}

@Override
public View getView(int position, View arg1, ViewGroup arg2) {
TextView tv =new TextView(getApplicationContext());
tv.setText(datas[position]);
tv.setTextSize(72);
tv.setTextColor(Color.RED);
return tv;
}

}
}

原文地址:https://www.cnblogs.com/huangzhen22/p/4201403.html