2012-08-02 43 views
0

这里是我用来加载微调在.MainActivity.java如何在插入记录时更新微调器中的数据库?

public void spin() { 
    { 
     try{ 
      SQL db = new SQL(getBaseContext()); 
      db.open(); 
      List<String> cursor = db.selectAll(); 
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_spinner_item, cursor); 
       s.setAdapter(adapter); 
     } 
     catch(Exception e) 
     { 
     Log.v("Error","e.tostring()"); 
     } 
    } 

这里是在SQL.java代码从数据库中获取的项目的代码。

public List<String> selectAll() { 
    List<String> list = new ArrayList<String>(); 
    Cursor cursor = this.mydb.query(DATABASE_TABLE, new String[] {KEY_NAME 
    }, null, null, null, null, null); 
    if (cursor.moveToFirst()) { 
     do { 
      list.add(cursor.getString(0)); 
     } while (cursor.moveToNext()); 
    } 
    if (cursor !=null && !cursor.isClosed()) { 
     cursor.close(); 
    } 
    return list; 
} 

这是我从另一个活动记录添加.Addnew.java

case R.id.bsave: 
      boolean work=true; 
      try{ 
      String rno1 = rno.getText().toString(); 
      String name1 = name.getText().toString(); 
      String reg1 = reg.getText().toString(); 
      String mob1 = mob.getText().toString(); 

      SQL entry = new SQL(Addnew.this); 
      entry.open(); 
      entry.createEntry(rno1,name1,reg1,mob1); 
      entry.close(); 
      } 
      catch(Exception e){ 
       work=false; 
       String error = e.toString(); 
       Dialog d = new Dialog(this); 
       d.setTitle("Naah"); 
       TextView tv = new TextView(this); 
       tv.setText(error); 
       d.setContentView(tv); 
       d.show(); 
      }finally{ 
       if(work){ 
        Dialog d = new Dialog(this); 
        d.setTitle("Yeah"); 
        TextView tv = new TextView(this); 
        tv.setText("Success"); 
        d.setContentView(tv); 
        d.show(); 
       } 
      } 
      break; 

问题是,当我插入数据库中的一个新的记录不会在微调显示立即,而只是在重新启动应用程序后才显示它。有人可以帮我解决这个问题吗?

回答

1

尝试通过该方法中的任何一个刷新你的活动

startActivity(getIntent); 

​​3210

这将解决您的问题。

希望它有帮助

+0

谢谢你,但它工作要么:( – kumareloaded 2012-08-02 15:11:58

+0

你在哪里添加这段代码?尝试添加这个插入数据后..因为我在我的应用程序中使用相同的功能微调框更新当我刷新活动 – GoCrazy 2012-08-02 15:24:35

+0

亚工作:) – kumareloaded 2012-08-02 18:30:27

3

将数据添加到列表中后,请设置adapter.notifyDataSetChanged()以更新您的微调器内容。

它会解决你的问题。

+0

它为你工作? – moDev 2012-08-02 14:52:28

+0

nope它没有工作:( – kumareloaded 2012-08-02 15:01:41

+0

你可以显示你如何添加?只有更新微调器内容的方法是通过调用notifyDataSetChanged设置adpater方法 – moDev 2012-08-02 15:06:51

相关问题