2011-12-30 72 views
0

我正在寻找游戏的问题和answers.i采取了textview和4 radio组buttons.and我从资产文件夹从外部数据文件中提取数据。当我安装应用到它的工作原理fine.when我重新打开应用程序在它只是显示没有显示在无线电buttons.here任何文本问题emulater的emulater是我在数据库文件中的代码应用程序第二次打开时不显示数据

public String makeatext(String My_database_table,int i) { 
    SQLiteDatabase myDB = getDatabase(); 
    String results = new String(); 

    try { 
     String firstColumn = "questions"; 
    // final String KEY_ROWID = "id"; 

     // Cursor c = myDB.rawQuery("SELECT questions FROM " + 
     // My_database_table+ ";",null); 
     Cursor c = myDB.query(true, My_database_table, 
       new String[] { firstColumn },null, null, null, null, null, 
       null); 


     int iquestion = c.getColumnIndex(firstColumn); 
     if(c.moveToPosition(i)){ 
     results = c.getString(iquestion)+"\n"; 
     } 

     //while (c.moveToPosition(1)) { 
      //String firstName = c.getString(iquestion); 
      //results =(" "+ firstName + " "); 
     //} 
     return results; 


    } catch (Exception e) { 
     Log.e("ERROR","ERROR in Make test file :"+e.toString()); 
     e.printStackTrace(); 
     // TODO: handle exception 
    } 

    return results; 
} 

和活动文件中,我只是把它叫做

String shoow = myDb.makeatext("question", Qno); 

showQues tion.setText(shoow); 和oncreate方法的顶部我启动数据库为private final DataBaseHelper myDb = new DataBaseHelper(this); 任何人都可以说我为什么这是happenig.do我需要在活动文件中写for循环也或我应该在活动类中的游标。

PLZ帮我提前

感谢

单选按钮在数据库文件中的代码如下,因为我有4个按钮的4个按钮的代码会因为这

为相同
public String makeExtra1(String My_database_table ,int positions) { 
    String results = new String(); 
    try { 
     String secondColumn = "Extra1"; 
     Cursor c = myDataBase.query(true, My_database_table, 
       new String[] { secondColumn }, null, null, null, null, null, 
       null); 
     int iExtra1 = c.getColumnIndex(secondColumn); 
     if(c.moveToPosition(positions)){ 
      results = results+c.getString(iExtra1)+"\n"; 
     } 
     return results; 
    } catch (Exception e) { 
     Log.e("ERROR","ERROR in Make test file :"+e.toString()); 
     e.printStackTrace(); 
     // TODO: handle exception 
    } 
    return results;} 

和在活动文件

String showextra1 = myDb.makeExtra1("question", Qno); 
r0.setText(showextra1); 

我repeted THI如同改变makeExtra2,3,4并将其分配给r1,r2,r3一样。

+0

和你在哪里设置你的单选按钮的文本?请添加它的代码。 – Hiral 2011-12-30 06:57:02

+0

你能提供你的'Activity'类的完整代码吗? – Jin35 2011-12-30 07:36:37

+0

可能是你需要重写onResume setText – 2011-12-30 07:55:40

回答

0
  1. 您应该从数据中读取数据后致电Cursor.close()。最好做到这一点finally{}块。

  2. 如果您只想提出每个查询一个答案 - 填写where参数myDataBase.query()

+0

jin35因为我想添加c.close();在finally {}块,它给出了一个错误,因为在eclipse – MADDY 2011-12-30 09:03:31

+0

oohhh oohhh谢谢花了一个洞的一天后,终于我得到了应用程序正常运行,因为我想要 – MADDY 2011-12-30 11:33:06

0

的可达代码错误是因为你写后返回的结果最后{}块;

在finally {}块后面移动这一行,eclipse不会给你任何错误。

也请使用myDB.close();在这最后的块。

相关问题