0

我想EditText在按钮按下时将一个活动的值传递给另一个活动,并在我的代码中使用该值。但是,在我不想使用该值的那些活动之间还有一个活动

我的 Activity1 有:

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

在这里,我想将该值用作字符串。

4

2 回答 2

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设置variableBean

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

并获得variable value最后一个或任何Activity

Bean bean = new Bean();
String yourValue=bean.getValue();
于 2013-04-04T10:29:53.467 回答
1

您可以使用putExtra()and 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 manifest 文件中添加您的活动,例如:

<activity android:name=".hello2"></activity> 
于 2013-04-04T10:14:49.893 回答