2013-05-20 2 views
0

ОЭК поэтому у меня есть следующий код в моем DataBaseHandlerсделать информацию TextView дисплей SQLite

// 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; 
      } 

info.xml файл, содержащий textView

<?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();, но он не работает, чтобы восстановить его таким образом. Есть идеи?

ответ

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()); 
+0

Спасибо, что так много <3, что сделал трюк! ВЫ мой друг УДИВИТЕЛЬНЫЙ – user1393500

Смежные вопросы