SimpleCursorAdapter would suit your needs, since you're only using textviews in your view. This post gives a decent explanation on how to use it.
What adapter use for listview and database?
-
10-10-2022 - |
Domanda
I'm new in Android(Java) programming. I have a database activity:
public class DataBase {
public static final String DB_NAME = "appdb";
public static final int DB_VERSION = 1;
static final String TABLE_NAME = "passtab";
final String LOG_TAG = "myLogs";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_TITLE = "title_enter";
public static final String COLUMN_LOGIN = "login_enter";
public static final String COLUMN_PASSWORD = "password_enter";
public static final String COLUMN_URL = "link_enter";
public static final String COLUMN_COMMENT = "comment_enter";
public static final String COLUMN_DATE = "date_enter";
public String results;
private DBHelper phdb;
private static Context pcontext;
private SQLiteDatabase pdb;
private static final String DB_CREATE =
"create table " + TABLE_NAME + "(" +
COLUMN_ID + " integer primary key autoincrement, " +
COLUMN_TITLE + " VARCHAR(255), " +
COLUMN_LOGIN + " VARCHAR(255), " +
COLUMN_PASSWORD + " VARCHAR(255), " +
COLUMN_URL + " VARCHAR(255), " +
COLUMN_COMMENT + " text, " +
COLUMN_DATE + " VARCHAR(255)" +
");";
public class DBHelper extends SQLiteOpenHelper{
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(DB_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
public DataBase(Context c) {
pcontext = c;
}
public DataBase open() throws SQLiteException {
phdb = new DBHelper(pcontext);
pdb = phdb.getWritableDatabase();
return this;
}
public SQLiteDatabase getDatabase() {
return pdb;
}
public void close() {
pdb.close();
}
public long createEntry(String tt, String lg, String ps, String ul,
String cm, String dt) {
ContentValues cv = new ContentValues();
cv.put(COLUMN_TITLE, tt);
cv.put(COLUMN_LOGIN, lg);
cv.put(COLUMN_PASSWORD, ps);
cv.put(COLUMN_URL, ul);
cv.put(COLUMN_COMMENT, cm);
cv.put(COLUMN_DATE, dt);
return pdb.insert(TABLE_NAME, null, cv);
}
}
And MainScreen activity where will be showed listview (which contains custom list row xml).
MainScreen Activity:
public class MainScreen extends FragmentActivity implements OnClickListener {
ListView listViewMain;
SQLiteDatabase db;
DataBase DB;
DBHelper dbH;
Cursor cursor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_screen);
listViewMain = (ListView) findViewById(R.id.listViewMain);
????
}
And list row custom xml:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/titleView"
android:text="" />
<TextView
android:id="@+id/dateView"
android:text="" />
</RelativeLayout>
What adapter I should use to receive data (COLUMN_TITLE and COLUMN_DATE) from database and fill with them listview row item (textview = titleView, textview = dateView)?
If can please write a sample of code.
P.S. Thank you!
Soluzione
Altri suggerimenti
Use the SimpleCursorAdapter that is documented at http://developer.android.com/reference/android/widget/SimpleCursorAdapter.html
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow