0

わかりましたので、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 クラス

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 データベースからのテキストビューで映画監督を表示したいのですが、db.getContact(15);(info.java クラスを参照) の後でスタックしています。データベースを呼び出すことはできますが、DatabaseHandler から情報を取得して Textview に入れる方法がわかりません。私はやろうとしましdb.getMD();たが、この方法で取得することはできません。何か案は?

4

1 に答える 1

2

あなたのgetContact()関数はDatabaseオブジェクトを返しますが、メソッドgetMD()DatabaseHandler.

まず、クラスの名前をContactDatabaseのような名前に変更し、それを関数で返す必要があると思います。その後、戻り値を変数に格納し、関数を呼び出します。コードは次のようになります。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());
于 2013-05-21T00:01:52.117 に答える