2013-04-04 84 views
0

我想将一个活动中的EditText的值传递给按钮上的另一个活动,并在我的代码中使用该值。但是,在我不想使用该值如何在Android中将Edittext的值从一项活动传递给其他人?

我的活动1有这些活动之间多了一个活动:

textOut = (EditText)findViewById(R.id.ipadd); 
Button ip = (Button) findViewById(R.id.ipad); 
ip.setOnClickListener(new View.OnClickListener() { 

@Override 
public void onClick(View v) { 
    startActivity(new Intent("com.shaz.hello")); 
}}); 

从活动1的用户进入到活性2

活性2

if (x ==10) { 
    startActivity(new Intent("com.shaz.hello2")); 
} 

从活性2用户转到Activity3

活动3

在这里我想使用该值作为一个字符串。

+0

你试图使用'Intents'? – mango 2013-04-04 10:13:52

+0

不,我不知道如何使用意图在这种情况下 – userxxx 2013-04-04 10:15:14

+0

@ShivamBansal下面的答案解决您的问题? – NullPointer 2013-04-04 10:37:39

回答

2

这是另一种解决方案; 创建一个Bean类这样的,

public class Bean { 
    public static String value; 

    public static String getValue() { 
     return value; 
    } 

    public static void setValue(String value) { 
     Bean.value = value; 
    } 
} 

first ActivityBean设置variable

Bean bean = new Bean(); 
bean.setValue("your value"); 

,并获得最后的variable value或任何Activity

Bean bean = new Bean(); 
String yourValue=bean.getValue(); 
+0

在这种情况下使用静态变量不是一个好方法。 – iSun 2013-04-04 10:32:06

+0

我一直在寻找这样的解决方案.. – userxxx 2013-04-04 10:34:07

+0

谢谢你这么多...它工作:) – userxxx 2013-04-04 13:57:33

1

可以使用putExtra()getExtra(),在当前的活动补充一点:

ip.setOnClickListener(new View.OnClickListener() 
{ 
    @Override 
    public void onClick(View v) 
    { 
     Intent mIntent = new Intent(currentActivity.this, hello.class); 
     mIntent.putExtra("valuename", Integer.valueOf(textOut.getText.toString)); 
     startActivity(mIntent); 
    } 
} 

要想从最后一项活动导致把onCreate()后,这条线:

int myValue = getIntent().getIntExtra("valuename", 0); 
if (myValue == 10) 
{ 
    Intent mIntent = new Intent(currentActivity.this, hello2.class); 
    startActivity(mIntent); 
} 

编辑

您需要在android清单文件中添加您的活动,例如:

<activity android:name=".hello2"></activity> 
相关问题