Java 如何启动从不同类调用方法的活动?
我有一个活动,它将一个字符串数据类型传输到另一个活动,然后该活动使用该字符串并从另一个类调用一个方法,该类返回一个字符串。我想使用该方法在当前活动中显示字符串 所以从视觉上看,它是(活动1)——字符串-->(活动2)。活动2使用该字符串调用另一个java类中的方法,该类返回一个类型字符串,我希望该字符串与几个按钮一起显示在屏幕上 所以一些伪代码: 假设不同java类中的方法为:Java 如何启动从不同类调用方法的活动?,java,android,xml,Java,Android,Xml,我有一个活动,它将一个字符串数据类型传输到另一个活动,然后该活动使用该字符串并从另一个类调用一个方法,该类返回一个字符串。我想使用该方法在当前活动中显示字符串 所以从视觉上看,它是(活动1)——字符串-->(活动2)。活动2使用该字符串调用另一个java类中的方法,该类返回一个类型字符串,我希望该字符串与几个按钮一起显示在屏幕上 所以一些伪代码: 假设不同java类中的方法为: public static String getStringexample(String n) { return "h
public static String getStringexample(String n) {
return "hello" + " " + n;
}
public class manage extends Activity {
protected void onCreate(bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContainerView(R.layout.activity_manage);
Intent intent = getIntent();
String example = intent.getExtras().getString("intentid");
我的活动课是:
public static String getStringexample(String n) {
return "hello" + " " + n;
}
public class manage extends Activity {
protected void onCreate(bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContainerView(R.layout.activity_manage);
Intent intent = getIntent();
String example = intent.getExtras().getString("intentid");
在这之后我就不知所措了。我不知道如何使用我从意图中得到的东西来用java代码在屏幕上显示它 您可以根据需要启动活动
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1);
然后从第二个活动返回到第一个活动
Intent returnIntent = new Intent();
returnIntent.putExtra("result",yourdata);
setResult(RESULT_OK,returnIntent);
finish();
在您的第一个活动中,您将使用以下代码获得结果
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == RESULT_OK){
String result=data.getStringExtra("result");
}
if (resultCode == RESULT_CANCELED) {
//Write your code if there's no result
}
}
}
活动之间的信息在“附加”中传递。这只是字符串键和值的集合 双方都需要使用相同的键,因此使用目标活动期望的键定义静态最终字符串 然后使用键从附加值中读取值,然后从那里开始:
public class DestinationActivity extends Activity {
// let your callers know how to pass you the information you need
public static final String EXTRA_N = "n";
private TextView resultText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_destination);
resultText = (TextView) findViewById(R.id.resultText);
// get the information you was passed
Intent intent = getIntent();
String n = intent.getStringExtra(EXTRA_N);
// do your transformation using the other class
String example = DifferentClass.getStringexample(n);
// display the transformed string
resultText.setText(example);
}
// ...
}
调用活动发送如下信息:
Intent intent = new Intent(this, DestinationActivity.class);
intent.putExtra(DestinationActivity.EXTRA_N, "foo");
startActivity(intent);
祝你好运不过我不想回到第一个活动。我希望第二个活动使用java方法显示字符串,但我还将向新活动添加一些其他内容。