私はこの質問に対してここで私の答えを見つけることはできませんが、私はデータベースからListView
というアクティビティを持っています。更新された変数でリフレッシュするアクティビティ
String ascOrDescFilter = " ASC";
String columnFilter = "amount";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
helper = new DatabaseHelper(this);
dbList= new ArrayList<DatabaseModel>();
dbList = helper.getDataFromFilteredDB(columnFilter, ascOrDescFilter);`
私は、ユーザーがコンテキストメニューに変更することができ、更新変数に入れながら、私の活動をリフレッシュしたいです。
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.schedule:
columnFilter="spare1";
ascOrDescFilter= " ASC";
//dbList = helper.getDataFromFilteredDB("spare1", " ASC");
onRestart();
return true;
case R.id.amount:
columnFilter="spare1";
ascOrDescFilter= " ASC";
//dbList = helper.getDataFromFilteredDB("balance", " DESC");;
return true;
default:
return super.onContextItemSelected(item);
}
}
私はonRestartまたはonResumeを呼び出す必要があると思いますか?私は自分の活動のためにこれらを実装する方法がわかりません。私は意図が必要ですか?上記のプログラムからわかるように、私はonStartメソッド(とonResume + onRecreate)で試しましたが、何も私のListviewをリフレッシュすることはありません。
@Override
public void onRestart()
{
super.onRestart();
startActivity(getIntent());
}
@Override
protected void onResume() {
super.onResume();
}
//@Override
protected void onRecreate() {
super.onResume();
this.onCreate(null);
}
ありがとう、どのポインタが最も役立つでしょう。これは自分で開発した初めてのアプリです。
アクティビティを再起動する必要はありません。リストビューを更新するだけです。あなたのコードのコメント部分のように。それは動作しますか?そうでない場合は、なぜですか? –