<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="名字"
android:textSize="25sp"
/>
<LinearLayout
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/tv_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="號碼"
/>
<TextView
android:id="@+id/tv_salary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="工資"
/>
</LinearLayout>
</RelativeLayout>
public class MainActivity extends Activity {
List<Person> personList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
personList = new ArrayList<Person>();
//把數據庫的數據查詢出來
MyOpenHelper oh = new MyOpenHelper(this);
SQLiteDatabase db = oh.getWritableDatabase();
Cursor cursor = db.query("person", null, null, null, null, null, null, null);
while(cursor.moveToNext()){
String _id = cursor.getString(0);
String name = cursor.getString(1);
String salary = cursor.getString(2);
String phone = cursor.getString(3);
Person p = new Person(_id, name, phone, salary);
personList.add(p);
}
ListView lv = (ListView) findViewById(R.id.lv);
lv.setAdapter(new MyAdapter());
}
class MyAdapter extends BaseAdapter{
//系統調用,用來獲知集合中有多少條元素
@Override
public int getCount() {
return personList.size();
}
//由系統調用,獲取一個View對象,作爲ListView的條目
//position:本次getView方法調用所返回的View對象,在listView中是處於第幾個條目,那麼position的值就是多少
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Person p = personList.get(position);
// TextView tv = new TextView(MainActivity.this);
System.out.println("getView調用:" + position + ";" + convertView);
// tv.setText(p.toString());
// tv.setTextSize(18);
View v = null;
//判斷條目是否有緩存
if(convertView == null){
//把佈局文件填充成一個View對象
v = View.inflate(MainActivity.this, R.layout.item_listview, null);
}
else{
v = convertView;
}
//獲取佈局填充器對象
// LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
// 使用佈局填充器填充佈局文件
// View v2 = inflater.inflate(R.layout.item_listview, null);
// LayoutInflater inflater2 = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
// View v3 = inflater2.inflate(R.layout.item_listview, null);
//通過資源id查找組件,注意調用的是View對象的findViewById
TextView tv_name = (TextView) v.findViewById(R.id.tv_name);
tv_name.setText(p.getName());
TextView tv_phone = (TextView) v.findViewById(R.id.tv_phone);
tv_phone.setText(p.getPhone());
TextView tv_salary = (TextView) v.findViewById(R.id.tv_salary);
tv_salary.setText(p.getSalary());
return v;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
}
}