【问题标题】:ListView getting deleted onbackpressListView 被删除 onbackpress
【发布时间】:2012-11-11 22:56:43
【问题描述】:

我的 mainactivity 中有一个列表视图,它调用数据库来填充它。单击列表视图上的项目时,它会启动一个新活动,显示被单击项目的详细信息。当按下后退按钮时,列表视图不再显示。

可能是什么问题?这是我主要活动的全部内容:

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);
            }
        });

    }

}

【问题讨论】:

    标签: android android-listview android-activity


    【解决方案1】:

    在 onResume() 方法中调用 fillLists。我猜这可以解决问题。

    【讨论】:

    • 我刚刚添加了以下代码:public void onResume() { fillList(); } 但它不起作用
    【解决方案2】:

    我在下一个活动中覆盖了 onBackPressed 函数以重新创建第一个活动。问题解决了:)

    【讨论】:

      猜你喜欢
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多