0

メインアクティビティにリストビューがあり、データベースを呼び出してデータベースにデータを入力します。リストビューのアイテムがクリックされると、クリックされたアイテムの詳細を示す新しいアクティビティが開始されます。戻るボタンを押すと、リストビューは再び表示されません。

何が問題なのですか?これが私の主な活動の全体です:

public class MainActivity extends ListActivity {

    Button bAddMod;
    private ModuleDB db;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        db = new ModuleDB(this);

        db.open();
        fillList();
        db.close();

        bAddMod = (Button) findViewById(R.id.btnAddMod);
        bAddMod.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, AddModule.class);
                startActivity(i);
            }
        });

    }

    private void fillList() {
        ListView lv = getListView();

        Cursor curs = db.getData();
        startManagingCursor(curs);

        MyCursorAdapter adapter = new MyCursorAdapter(getApplicationContext(), curs);
        lv.setAdapter(adapter);

        lv.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> parent, View view, int position, long id){
                Intent k = new Intent(MainActivity.this, ModuleDetails.class);
                k.putExtra("mod_id", id);
                startActivity(k);
            }
        });

    }

}
4

2 に答える 2

0

onResume()メソッドでfillListsを呼び出します。それは私が推測するトリックを行います。

于 2012-11-11T23:01:58.073 に答える
0

次のアクティビティでonBackPressed関数をオーバーライドして、最初のアクティビティを再作成します。問題が解決しました :)

于 2012-11-11T23:29:32.277 に答える