1

如何通过按下另一个活动的按钮来填充我的主要活动中的项目?我已经有了 LayoutAdapter 和 PopulateAlarms 对象,但我不是为按钮的 onClick 方法编写代码。

感谢您的回答,但我应该更具体。这是一个闹钟应用程序,所以我希望在单击保存按钮(在另一个屏幕中)时填充我的主应用程序。我不确定如何在我的代码中正确调用我的 listview adatper。

Button save_btn = (Button) findViewById(R.id.save_btn);
    save_btn.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
         // linking save with main
         Intent intent = new Intent(SettingsActivity.this, MainClockActivity.class);
         //Here I am trying to create a new item on my main 
         intent.putExtra("Alarm",vals);
         startActivity(intent);
     }
     });
4

2 回答 2

0

从不同活动更改和更新列表的最佳方式可能是使用 SQLite DB。您必须扩展SQLiteOpenHelper并在实现方法时使用 onCreate 来创建表。然后将列表中的所有项目添加到数据库中getWritableDatabse().execSql("Your SQL code here")。在onClick调用您创建的方法以将项目添加到数据库中。要从数据库中读取,您可以获得一个Cursor包含所有数据的对象并SimpleCursorAdapter用于显示字符串,如下所示:

Cursor c = getReadableDatabase().rawSql("SELECT * FROM tableName");
String[] from = { array of all your column names to show on list }
int[] to = { array of res ids in list xml layout file where the data will be shown }
//from and to indexes must match. Adapter will take data from collumn from[0]
//and put it in the TextView pointed by the id in to[0] etc...
SimpleCursorAdaper a = new SimpleCursorAdapter(..., from, to)
list.setAdapter(a)

最后一件事 - 要在按下后退按钮并返回主活动时使更改可见,您可能需要在onStart.

另一种选择是使用意图:

onClick(View v) {
    Intent i = new Intent(this, MainActivity.class);
    i.putExtra("keyName", variable);
    startActivity(i);
}
于 2013-04-26T23:08:02.247 回答
0

你没有。您要么需要为结果启动辅助 Activity并根据结果进行填充,要么使用Fragments和带有所需回调的接口。如果您使用的是ActivityGroup,请不要。它已被弃用。

如果我误解了您的问题,并且您只是在启动辅助 Activity 时尝试传递一些数据,则需要使用Extras

于 2013-04-26T23:11:18.710 回答