ListView_BaseAdapter
来源:互联网 发布:c语言函数头举例 编辑:程序博客网 时间:2024/06/01 10:13
<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{ //系统调用,用来获知集合中有多少条元素@Overridepublic int getCount() {return personList.size();}//由系统调用,获取一个View对象,作为ListView的条目//position:本次getView方法调用所返回的View对象,在listView中是处于第几个条目,那么position的值就是多少@Overridepublic 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对象的findViewByIdTextView 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;}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return 0;} } }
0 0
- ListView_BaseAdapter
- ListView_BaseAdapter
- youtube无法播放出现错误,请稍后重试。
- 记录,mabaties问题(一)
- Mac下Androd Studio获取Sha1值和MD5值
- linux基础(25)--日志管理--RHEL6.5
- Android Studio 页面跳转
- ListView_BaseAdapter
- 清除系统会话
- UEditor上传图片与spring mvc上传图片冲突问题。
- google guava使用例子/示范(一)
- eclipse 关于svn的教程
- 计算机存储器
- 回文判断(C/C++)
- 使用ajax提交form表单,包括ajax文件上传
- Java注解三 JUnit注解的简单实现