Oke所以我在DataBaseHandler中有下一个代码
// Getting single contact
Database getContact(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_MOVIES, new String[] { KEY_ID,
,KEY_SUM,KEY_ACT,KEY_TRAILER,KEY_PREVIEW,KEY_DIR,KEY_WRI }, KEY_ID + "=?",
new String[] { String.valueOf(id) }, null, null, null);
if (cursor != null)
cursor.moveToFirst();
Database contact = new Database(Integer.parseInt(cursor.getString(0)),
cursor.getString(1),cursor.getString(2),cursor.getString(3),cursor.getString(4),cursor.getString(5),
cursor.getString(6),cursor.getString(7));
return contact;
}
info.java class
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.info);
DatabaseHandler db = new DatabaseHandler(this);
// for this example i want to read out ID 15 in my database
db.getContact(15);
}
database.java类
// getting movie_director
public String getMD(){
return this._movie_director;
}
// setting movie_director
public void setMD(String movie_director){
this._movie_director = movie_director;
}
包含textView
的info.xml文件 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
在这种情况下,我想在SQLite数据库的textview中显示电影导演,但是我被卡在db.getContact(15);
之后(参见info.java类)。我可以调用数据库,但我不知道如何从DatabaseHandler中检索信息并将其放在Textview中。我试图做db.getMD();
,但这样做无法检索它。有什么想法吗?
答案 0 :(得分:2)
您的getContact()
函数正在返回Database
个对象,但您正在调用方法getMD()
到DatabaseHandler
。
我认为首先您应该将课程Database
重命名为联系,然后在getContact()
函数中返回。之后,将返回的值存储在变量中并调用函数getMD()
。代码可以是这样的:
DatabaseHandler db = new DatabaseHandler(this);
Contact contact = db.getContact(15); //This is your what you call Database object
//get View element
TextView contactTextView = (TextView) findViewById(R.id.textView2);
//Set contact information in the TextView
contactTextView.setText(contact.getMD());