2016-09-20 66 views
-2

我有2个类。在第一个我有2个按钮和2个字符串。两个按钮启动相同的类。但如果用户按第一个按钮我想发送第一个字符串到第二个类的字符串。如果选择另一个我想发送第二个字符串。android将两个字符串变量之一分配到另一个类中的一个字符串中

主类

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

那么你面临的错误是什么? – PriyankaChauhan

+2

[我如何在Android上的活动之间传递数据?](http://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-on-android) – lubilis

+0

请搜索所以在发布新的问题之前:) –

回答

1

你需要把它作为一个额外的:从您的新活动

Intent i = new Intent(this, Second.class); 
i.putExtra("url", sendedUrl); 
startActivity(i); 

然后提取它是这样的:

Intent intent = getIntent(); 
String url= intent.getExtras().getString("url"); 
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 ActivityOnCreate()

Bundle extras = intent.getExtras(); 
String url= extras.getString("strUrl"); 
0

如果主要和第二类是活动ü可以通过URL意图。例如

Intent intent=new Intent(this,Second.class); 
intent.putExtra("URL",url)//url2 on 2nd button click 
startActivity(intent); 
finish(); 

,并在第二个活动得到URL

Intent intent=getIntent(); 
String URL=intent.getStringExtra("URL"); 
2

当你创建这个类的成员被设置为null一个类的实例,如果你还没有分配任何价值的特定成员那个班。

可以使该成员static,或者您可以使用

intent.putExtra("StringName"); 

通过这个成员其他活动。

相关问题