将字符串从 1 日 Activity 的 Edittext 发送到 2 日 Activity 的 Edittext
Send String from Edittext on 1st Activity to the Edittext on the 2nd Activity
我在第一个 activity 上将一些字符串写入 Edittext,我试图通过按 Button 将它发送到另一个 activity 上的 Edittext,但我的代码不起作用,什么都没发生,我不知道我还能在这里做什么也许有人可以帮助我
我的第一个 onClick 方法 activity:
public void calendarOR(View v, AdapterView<?> parent, int position, long id) {
String data = cala.getText().toString();
Intent intent = new Intent(getApplicationContext(), calendar.class);
intent.putExtra("id",data);
startActivity(intent);
我的第二个activity代码:
Bundle extras = getIntent().getExtras();
if (extras != null) {
userId = extras.getLong("id");
}
if (userId > 0) {
userCursor = db.rawQuery("select * from " + dbelper.TABLE + " where " + dbelper.COLUMN_ID + "=?", new String[]{String.valueOf(userId)});
userCursor.moveToFirst();
date.setText(userCursor.getString(1));
userCursor.close();
}
您正在输入 String
数据类型并试图获得 long
。更改第二个 activity 以获取字符串形式的“id”。
userId = extras.getString("id");
然后
if (userId != null) {
userCursor = db.rawQuery("select * from " + dbelper.TABLE + " where " + dbelper.COLUMN_ID + "=?", new String[]{userId});
userCursor.moveToFirst();
date.setText(userCursor.getString(1));
userCursor.close();
}
如果 userId 为空或数据不在数据库中,您可能还想打印日志消息以帮助调试。
无关,但您可能想要改变您的意图,不使用应用程序上下文,就像这样,以启动 calendar
activity.
Intent intent = new Intent(this, calendar.class);
在第二个 activity 代码中执行此操作:
String data =getIntent().getStringExtra("id");
我在第一个 activity 上将一些字符串写入 Edittext,我试图通过按 Button 将它发送到另一个 activity 上的 Edittext,但我的代码不起作用,什么都没发生,我不知道我还能在这里做什么也许有人可以帮助我
我的第一个 onClick 方法 activity:
public void calendarOR(View v, AdapterView<?> parent, int position, long id) {
String data = cala.getText().toString();
Intent intent = new Intent(getApplicationContext(), calendar.class);
intent.putExtra("id",data);
startActivity(intent);
我的第二个activity代码:
Bundle extras = getIntent().getExtras();
if (extras != null) {
userId = extras.getLong("id");
}
if (userId > 0) {
userCursor = db.rawQuery("select * from " + dbelper.TABLE + " where " + dbelper.COLUMN_ID + "=?", new String[]{String.valueOf(userId)});
userCursor.moveToFirst();
date.setText(userCursor.getString(1));
userCursor.close();
}
您正在输入 String
数据类型并试图获得 long
。更改第二个 activity 以获取字符串形式的“id”。
userId = extras.getString("id");
然后
if (userId != null) {
userCursor = db.rawQuery("select * from " + dbelper.TABLE + " where " + dbelper.COLUMN_ID + "=?", new String[]{userId});
userCursor.moveToFirst();
date.setText(userCursor.getString(1));
userCursor.close();
}
如果 userId 为空或数据不在数据库中,您可能还想打印日志消息以帮助调试。
无关,但您可能想要改变您的意图,不使用应用程序上下文,就像这样,以启动 calendar
activity.
Intent intent = new Intent(this, calendar.class);
在第二个 activity 代码中执行此操作:
String data =getIntent().getStringExtra("id");