【发布时间】:2015-04-15 14:51:42
【问题描述】:
我是 android 编程新手。你能帮我用游标获取行吗?
使用此代码,我可以获取所有行:
public Cursor getAllDataDays() {
SQLiteDatabase db = this.getWritableDatabase();
String selectQuery = "SELECT * FROM " + TABLE_MYBUDGETWITHDAYS;
return db.rawQuery(selectQuery, null);
}
这是我获取特定行的代码:
public Cursor SelectAllDaysIntParent(int id) {
SQLiteDatabase db = this.getWritableDatabase();
String selectQuery = "SELECT * FROM " + TABLE_MYBUDGETWITHDAYS + " WHERE" + KEY_PARENTID + " = " + id;
return db.rawQuery(selectQuery, null);
}
但它没有显示任何行。
请帮忙。谢谢。
Main_BudgetPlannerListViewAdapter.java
package caraga.tripgurufinal.adapter;
import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CursorAdapter;
import android.widget.TextView;
import com.example.budgetplanner.R;
public class Main_BudgetPlannerListViewAdapter extends CursorAdapter{
@SuppressWarnings("deprecation")
public Main_BudgetPlannerListViewAdapter(Context context, Cursor c) {
super(context, c);
// TODO Auto-generated constructor stub
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView planName = (TextView)view.findViewById(R.id.tv_PlanName);
TextView planDate = (TextView)view.findViewById(R.id.tv_PlanDate);
TextView planDays = (TextView)view.findViewById(R.id.tv_NumberOfDays);
TextView CreatedDateTime = (TextView)view.findViewById(R.id.tv_createdDateTime);
planDays.setText(cursor.getString(cursor.getColumnIndex(cursor.getColumnName(1)))+ " Days");
planName.setText(cursor.getString(cursor.getColumnIndex(cursor.getColumnName(2))));
planDate.setText("Travel Date: " + cursor.getString(cursor.getColumnIndex(cursor.getColumnName(3))));
CreatedDateTime.setText(cursor.getString(cursor.getColumnIndex(cursor.getColumnName(4))));
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View retView = inflater.inflate(R.layout.mybudgetplann_list, parent, false);
return retView;
}
注意:我想要一个带有 Cursor 的方法,因为我的 listview 自定义适配器需要光标。
【问题讨论】:
-
哪里没有显示任何行。也贴出相关代码
-
你有什么异常吗?如果不是,则没有符合您条件的行。
-
@Ranjith 当我尝试使用第一个代码时,它成功显示所有行。第二行不显示任何内容。
-
@m0skit0 我没有收到任何错误。列表视图只是空的。
-
@AllanDave 发布适配器代码...如果未填写相关位
标签: android sqlite select return android-cursor