我有自定义列表的代码。
my_list.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView android:id="@+id/text1"
android:textSize="16px"
android:textStyle="bold"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/text2"
android:textSize="12px"
android:textStyle="italic"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
和活动:
public class ZcustListActivity extends ListActivity {
//db Work
SQLiteDatabase db;
String SQL;
ArrayList<String> db_results=null;
private SimpleAdapter notes;
ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//db Work
this.db = this.openOrCreateDatabase("DEMO", MODE_PRIVATE, null);
this.db.execSQL("CREATE TABLE IF NOT EXISTS MEN(A VARCHAR,B VARCHAR,C VARCHAR);");
this.db.execSQL("delete from MEN;");
db.execSQL("INSERT INTO MEN(A,B,C) VALUES('AA1','BB1','CC1');");
db.execSQL("INSERT INTO MEN(A,B,C) VALUES('DD2','EE2','FF2');");
notes = new SimpleAdapter(
this,
list,
R.layout.my_list,
new String[] { "line1","line2" },
new int[] { R.id.text1, R.id.text2 } );
setListAdapter( notes );
HashMap<String,String> item = new HashMap<String,String>();
item.put( "line1","i am row 1" );
item.put( "line2","i am row 2" );
list.add( item );
notes.notifyDataSetChanged();
}
}
我添加了我的数据库工作 - 但如何将其合并?
我是Android的新手,它对我不起作用......
答案 0 :(得分:2)
我猜你已经有了一个DBManager类。使用SimpleCursorAdapter:
在onCreate中调用populateList方法 private DBManager dbM = new DBManager();
private Cursor c;
public void populateList(){
dbM.open();
c = this.db.query(MEN, new String[] {"line1", "line2"
}, null, null, null, null, null);
startManagingCursor(c);
String[] from = new String[]{"line1","line2" };
int[] to = new int[]{R.id.text1, R.id.text2};
SimpleCursorAdapter notes =
new SimpleCursorAdapter (this, R.layout.list_row, c, from, to);
setListAdapter(notes);
}
}
此外,您需要为list_row创建一个单独的视图(在SimpleCursorAdapter构造函数中使用。)所以定义它(您想要的任何布局,在有问题的情况下,它将是一个带有2个textViews的LinearLayout)您需要将数据放入表格的每一行。
答案 1 :(得分:-1)
SimpleCursorAdapter
正是您要找的
http://developer.android.com/reference/android/widget/SimpleCursorAdapter.html