android将两个字符串变量中的一个分配到另一个类

时间:2016-09-20 12:08:43

标签: android url onclicklistener

我有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;

4 个答案:

答案 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");