【发布时间】:2017-12-07 18:00:07
【问题描述】:
当我单击列表视图中的项目时尝试访问数据库中的数据时遇到问题。
这是我在数据库处理程序中的方法:
public Match getMatchFromId(int matchId)
{
SQLiteDatabase db = this.getReadableDatabase();
Match m = null;
Cursor cursor;
cursor = db.rawQuery("select * from " + MATCH_TABLE + " where " +
MATCH_ID_COL + "='" + matchId + "'" , null);
while(cursor.moveToNext())
{
m = new Match();
m.setHome(cursor.getString(cursor.getColumnIndex(MATCH_HOME_TEAM_COL)));
m.setAway(cursor.getString(cursor.getColumnIndex(MATCH_AWAY_TEAM_COL)));
m.setHomeScore(cursor.getString(cursor.getColumnIndex(MATCH_HOMESCORE_COL)));
m.setAwayScore(cursor.getString(cursor.getColumnIndex(MATCH_AWAYSCORE_COL)));
m.setDate(cursor.getString(cursor.getColumnIndex(MATCH_DATE_COL)));
m.setTime(cursor.getString(cursor.getColumnIndex(MATCH_TIME_COL)));
m.setRedCard(cursor.getString(cursor.getColumnIndex(MATCH_REDCARD_COL)));
m.setBookings(cursor.getString(cursor.getColumnIndex(MATCH_BOOKINGS_COL)));
m.setTypeOfMatch(cursor.getString(cursor.getColumnIndex(MATCH_TYPEOFMATCH_COL)));
// m.setGroundId(cursor.getInt(cursor.getColumnIndex()));
}
cursor.close();
return m;
}
我只是在如何通过列表视图访问数据方面遇到问题。我希望能够单击该项目,并将其带到另一个活动中进行编辑。
public class ViewMatchesActivity extends AppCompatActivity {
DBHandler myDB;
ArrayList<Match> matches = new ArrayList<Match>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_matches);
myDB = new DBHandler(this);
final ListView listView = (ListView) findViewById(R.id.listview);
matches = myDB.getAllMatches();
MyAdapter myAdapter = new MyAdapter(ViewMatchesActivity.this, R.layout.list2col, matches);
listView.setAdapter(myAdapter);
任何帮助都会很好,因为我是 Android Studio 的新手。
【问题讨论】: