標籤:
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;
}
}
}
android之ListView