以下是用于在 .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;
问题是当我在数据库中插入新记录时,它不会立即显示在微调器中,而是仅在重新启动应用程序后显示它。有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
将数据添加到列表后,请设置adapter.notifyDataSetChanged()以更新您的微调内容。
它将解决您的问题。
答案 1 :(得分:1)
尝试通过任何一种方法刷新您的活动
startActivity(getIntent);
或
Intent addservice1 = new Intent(YourActivity.this,YourActivity.class);
startActivity(addservice1);
它将解决您的问题。
希望有所帮助