如何在Android中将Edittext的值从一个活动传递到另一个活动?

时间:2013-04-04 10:12:46

标签: android android-activity

我想在按下按钮时将一个活动中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"));
}});

从Activity1开始,用户转到Activity2

活性2

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

从Activity2,用户转到Activity3

活动3

这里我想将该值用作String。

2 个答案:

答案 0 :(得分: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 Activity上设置variable中的Bean

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

并在最后或variable value

上获得Activity
Bean bean = new Bean();
String yourValue=bean.getValue();

答案 1 :(得分: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>