如何在另一个Activity上调用方法?

时间:2016-03-05 03:12:54

标签: android listview

我已经尝试过创建一个活动的新实例,但这似乎并不正确,似乎它会造成更多弊大于利 - 而且也不起作用,所以是的。话虽这么说,我有一个方法在一个活动上填充ListView,一个按钮应该在另一个活动上添加一些内容。我试图找出如何从其他Activity调用该方法。我试图应用静态,但方法中的一些代码表示它“无法从静态上下文中引用”。

这是我试图从另一种方法调用的代码:

CharacterDatabaseAdapter charDB;



 public void populateListView() {
        Cursor cursor = charDB.getAllRows();

    String[] fromFieldNames = new String[] {CharacterDatabaseAdapter.CHARACTER_NAME,
            CharacterDatabaseAdapter.CHARACTER_CLASS,
            CharacterDatabaseAdapter.CHARACTER_LEVEL};
    int[] toViewIDs = new int[] {R.id.row_name, R.id.row_class, R.id.row_lvl};
    SimpleCursorAdapter cursorAdapter;
    cursorAdapter = new SimpleCursorAdapter(getBaseContext(), R.layout.character_overview_list_display, cursor, fromFieldNames, toViewIDs, 0);

    ListView charList = (ListView) findViewById(R.id.charListView);
    charList.setAdapter(cursorAdapter);
}

1 个答案:

答案 0 :(得分:1)

您不能依赖其他活动,因为活动会持有自己的生命周期,而另一个活动在您尝试调用时无论出于何种原因都无法生存。所以,你需要的是了解Intents,这是活动(和其他Android对象)相互通信的方式。

您可以使用意图和处理收到数据的新活动将数据从一个活动发送到另一个活动。

Here你有一个非常完整的Intents用法示例。