如何在android中将数据从一个屏幕传输到另一个屏幕?
我试图将数据从一个页面传输到另一个页面,但出现了一些问题。下面是代码。我按下第二页按钮后,它强制关闭应用程序 这是我的第一个节目:如何在android中将数据从一个屏幕传输到另一个屏幕?,android,string,transfer,Android,String,Transfer,我试图将数据从一个页面传输到另一个页面,但出现了一些问题。下面是代码。我按下第二页按钮后,它强制关闭应用程序 这是我的第一个节目: package com.life.insurance; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; /*import android.view.Menu;*/ import
package com.life.insurance;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
/*import android.view.Menu;*/
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class LifeInsuranceActivity extends Activity implements OnClickListener{
/* private static final int MENU_STARS = 1;
private static final int MENU_REFRESH = 2;*/
Context mCtx;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button submit =(Button)findViewById(R.id.button1);
submit.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()){
case R.id.button1:
mCtx = this;
String intext = new String();
intext=((EditText)findViewById(R.id.editText1)).getText().toString();
Intent myIntent = new Intent(mCtx, MenuSelection.class);
Bundle bundle = new Bundle(1);
bundle.putString("ganna", intext);
myIntent.putExtras(bundle);
/*Start Activity*/
mCtx.startActivity(myIntent);
/*Start ActivityForResult*/
((Activity)mCtx).startActivityForResult(myIntent, 2);
setContentView(R.layout.menuselection);
break;
}
}
}
这是我的第二项活动
package com.life.insurance;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MenuSelection extends Activity implements OnClickListener{
String ot;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menuselection);
Button search =(Button)findViewById(R.id.imageButton1);
search.setOnClickListener(this);
Bundle extras = this.getIntent().getExtras();
ot =extras.getString("ganna").toString();
final TextView r =(TextView)findViewById(R.id.txt1);
r.setText(ot);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()){
case R.id.imageButton1:
break;
}
}
}
请帮我做这个如果没有日志转储,很难回答,但我认为有一些事情需要检查。首先,发送字符串应该是直接的:
intent.putExtra("key", "value");
如果您想发送复杂的对象或包,您可以这样做,但我坚持您发送和读取字符串的问题
getIntent().getStringExtra("key")
我认为在你的情况下,使用Bundle是没有必要的
第二,你称之为startActivity和startActivityForResult。打电话给一个或另一个。因为您正在寻找响应,所以可能需要使用后者
最后,确保您已按照下面的建议将第二个活动添加到清单中。在开始后续活动时,您还希望使用活动的上下文,而不是按钮的上下文
这里似乎有几个问题可能会导致崩溃。如果没有logcat转储,很难回答,但我认为有一些事情需要检查。首先,发送字符串应该是直接的:
intent.putExtra("key", "value");
如果您想发送复杂的对象或包,您可以这样做,但我坚持您发送和读取字符串的问题
getIntent().getStringExtra("key")
我认为在你的情况下,使用Bundle是没有必要的
第二,你称之为startActivity和startActivityForResult。打电话给一个或另一个。因为您正在寻找响应,所以可能需要使用后者
最后,确保您已按照下面的建议将第二个活动添加到清单中。在开始后续活动时,您还希望使用活动的上下文,而不是按钮的上下文
这里似乎有几个问题可能会导致崩溃。是否有logcat stacktrace,您可以发布它吗?您可以发布logcat中显示的任何错误吗?你还记得在androidmanifest文件中声明你的第二个活动吗?我们需要logcat输出,你能用输出编辑帖子吗?是否有logcat stacktrace,你能发布它吗?你能发布logcat中显示的任何错误吗?你还记得在androidmanifest文件中声明你的第二个活动吗?我们需要logcat输出,你能用输出编辑帖子吗?