我有2节课。在第一个我有2个按钮和2个字符串。两个按钮启动相同的类。但如果用户按第一个按钮,我想将第一个字符串发送到第二个类的字符串。如果选择其他我要发送第二个字符串。
主类
public String sendedUrl;
String url = "xxx";
String url2="yyy";
imageViews[0].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sendedUrl=url;
Intent intent = new Intent(getApplicationContext(),Second.class);
startActivity(intent);
finish();
}
});
imageViews[1].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sendedUrl = url2;
Intent intent = new Intent(getApplicationContext(),Second.class);
startActivity(intent);
finish();
}
});
第二课
MainActivity main = new MainActivity();
String Url;
Url = main.sendedUrl;
答案 0 :(得分:2)
当您创建类的实例时,如果您尚未为该类的特定成员分配任何值,则此类的成员将设置为null
。
您可以将此成员static
或您可以使用
intent.putExtra("StringName");
将此成员传递给其他活动。
答案 1 :(得分:1)
您需要将其作为额外内容传递:
Intent i = new Intent(this, Second.class);
i.putExtra("url", sendedUrl);
startActivity(i);
然后从您的新活动中提取它:
Intent intent = getIntent();
String url= intent.getExtras().getString("url");
答案 2 :(得分:0)
您必须使用Bundle
传递以下值:
imageViews[0].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sendedUrl=url;
Intent intent = new Intent(getApplicationContext(),Second.class);
intent.putExtra("strUrl", url);
startActivity(intent);
finish();
}
});
imageViews[1].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sendedUrl = url2;
Intent intent = new Intent(getApplicationContext(),Second.class);
intent.putExtra("strUrl", url2);
startActivity(intent);
finish();
}
});
在Second Activity
中的OnCreate()
内:
Bundle extras = intent.getExtras();
String url= extras.getString("strUrl");
答案 3 :(得分:0)
如果主要和第二类是活动,您可以传递URL意图。 e.g
Intent intent=new Intent(this,Second.class);
intent.putExtra("URL",url)//url2 on 2nd button click
startActivity(intent);
finish();
并在第二个活动中获取网址
Intent intent=getIntent();
String URL=intent.getStringExtra("URL");