Android 如何从按钮';是否将事件单击到另一个活动以显示插入的记录?
我在按钮的单击事件上创建数据库和表。在创建数据库和表之后,我还对按钮的click事件执行insert函数。我想在下一个活动中插入录制节目。在这个活动中,我使用Listview来显示数据。我无法对数据库使用SQLiteOpenHelper类。我使用OpenOrCreateDatabase()方法创建数据库。那么,请告诉我我为此做了什么???据我所知,您希望设置数据库并向其中插入数据的同一个按钮将您带到另一个活动并显示所有插入的数据吗 您可以通过点击该按钮来设置意图,该按钮将引导您进入所需的活动。在该活动的onCreate()中,应该调用获取数据的函数 大概是这样的:Android 如何从按钮';是否将事件单击到另一个活动以显示插入的记录?,android,eclipse,sqlite,Android,Eclipse,Sqlite,我在按钮的单击事件上创建数据库和表。在创建数据库和表之后,我还对按钮的click事件执行insert函数。我想在下一个活动中插入录制节目。在这个活动中,我使用Listview来显示数据。我无法对数据库使用SQLiteOpenHelper类。我使用OpenOrCreateDatabase()方法创建数据库。那么,请告诉我我为此做了什么???据我所知,您希望设置数据库并向其中插入数据的同一个按钮将您带到另一个活动并显示所有插入的数据吗 您可以通过点击该按钮来设置意图,该按钮将引导您进入所需的活动。在
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewprofile);
userdatabase viewinfo = new userdatabase(this);
viewinfo.open();
String data = viewinfo.getData();
viewinfo.close();
TextView txtv = (TextView) findViewById(R.id.viewuserdata);
txtv.setText(String.valueOf(data));
}
public String getData() { //Retrieve complete data from database
String[] columns = new String[]{KEY_ROWID, USER_NAME,USER_HP,USER_LEVEL,USER_ID};
Cursor c = userDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
String result = "";
int iRow = c.getColumnIndex(KEY_ROWID);
int iName = c.getColumnIndex(USER_NAME);
int ihp = c.getColumnIndex(USER_HP);
int ilevel = c.getColumnIndex(USER_LEVEL);
int iId = c.getColumnIndex(USER_ID);
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
result = result + c.getString(iRow) + " " + c.getString(iName) + " " + c.getInt(ihp) + " " + c.getInt(ilevel);
}
return result;
}
在这里,getData()是一个检索所需数据的方法,它是在定义和创建数据库的同一类中定义的
在我的例子中,getData()如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewprofile);
userdatabase viewinfo = new userdatabase(this);
viewinfo.open();
String data = viewinfo.getData();
viewinfo.close();
TextView txtv = (TextView) findViewById(R.id.viewuserdata);
txtv.setText(String.valueOf(data));
}
public String getData() { //Retrieve complete data from database
String[] columns = new String[]{KEY_ROWID, USER_NAME,USER_HP,USER_LEVEL,USER_ID};
Cursor c = userDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
String result = "";
int iRow = c.getColumnIndex(KEY_ROWID);
int iName = c.getColumnIndex(USER_NAME);
int ihp = c.getColumnIndex(USER_HP);
int ilevel = c.getColumnIndex(USER_LEVEL);
int iId = c.getColumnIndex(USER_ID);
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
result = result + c.getString(iRow) + " " + c.getString(iName) + " " + c.getInt(ihp) + " " + c.getInt(ilevel);
}
return result;
}
编辑:刚刚看到您需要将数据插入ListView。我没有这方面的经验,但也许能帮上忙 创建自己的应用程序类
public class MyApplication extends Application {
private ArrayList myData;
public ArrayList getMyData(){
return myData;
}
public void putMyData(ArrayList myData){
this.myData = myData;
}
在AndroidManifest.xml文件中提到这一点,如
<application android:icon="@drawable/icon" android:label="@string/app_name" android:largeHeap="true" android:name="MyApplication">
在第二个活动中
MyApplication myApplication=(MyApplication)getApplication();
myData = myApplication.gettMyData();
你不检索记录并将结果传递给下一个活动吗?我有一个按钮名,如“保存”。在这个按钮上,我在插入代码后创建数据库和表。现在,我想知道,当我点击按钮时,插入的记录将显示在下一个活动的列表视图中。好吧,我的答案仅限于此。除此之外,您必须了解如何填充列表视图,因为我没有这方面的经验。