我有我将对DBAdapter,一个GETALL应该把所有的数据从数据库中:回报db.query到listeview(除非那里有更好的东西?)
public Cursor getAllFinalscores()
{
return db.query(DATABASE_TABLE, new String[] {
KEY_ROWID,
KEY_DATE,
KEY_FINALSCORE,
KEY_HOLESPLAYED},
null, null, null, null, null);
}
而现在,我有使当用户想要查看所有数据(从主活动),它拉它,如下所示:
public void DisplayFinalscore(Cursor c)
{
Toast.makeText(this,
"DATE: " + c.getString(1) + "\n" +
"FINALSCORE: " + c.getString(2) + "\n" +
"HOLESPLAYED: " + c.getString(3),
Toast.LENGTH_LONG).show();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.past_games:
DBAdapter db = new DBAdapter(this);
db.open();
Cursor c = db.getAllFinalscores();
if (c.moveToFirst())
{
do {
DisplayFinalscore(c);
}
while (c.moveToNext());
}
db.close();
}
return true;
}
这个工作,但是,它显示他们弹出所有的小消息。我期待在单独的屏幕上显示它们。
我创建了一个新的类(PastGames),它看起来像下面这样:
public class PastGames extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pastgames);
DBAdapter db = new DBAdapter(this);
db.open();
Cursor c = db.getAllFinalscores();
startManagingCursor(c);
String[] from = new String[] { DBAdapter.KEY_DATE};
int[] to = new int[] {R.id.text1};
SimpleCursorAdapter games = new SimpleCursorAdapter(this, layout.pastgames_row, c, from, to);
setListAdapter(games);
db.close();
}
}
我也有我的XML文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView android:id="@id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_games"/>
和行布局
<TextView android:id="@+id/text1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
可以帮我解决我需要做的事情,以便将这些信息放入这些布局中?
谢谢!
因此,我在PastGames活动中创建了一个新的onStart(Cursor c),但我仍不清楚如何从主要活动中获取该开始。 – Rob 2011-06-12 22:33:26
你不应该创建一个'onStart(Cursor c)' - 方法。你应该看看[Activity-Lifecyrcle](http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle) – 2011-06-12 23:03:34
我想我明白现在发生了什么。所以现在我从数据库中提取所有正常工作的数据,然后通过Toast.makeText运行它的每一行......我想我只是想了解如何使这个列表而不是敬酒。 – Rob 2011-06-12 23:23:54