当前位置: 首页 > 知识库问答 >
问题:

如何在Android中将编辑文本的价值从一个活动传递到另一个活动?

慕宏峻
2023-03-14

我想在按下按钮时将一个活动中编辑文本的值传递给另一个活动,并在我的代码中使用该值。然而,在这些活动之间还有一个活动,我不想在其中使用该值

我的活动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

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

共有2个答案

狄飞尘
2023-03-14

您可以使用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> 
胡修伟
2023-03-14

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

public class Bean {
    public static String value;

    public static String getValue() {
        return value;
    }

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

first Active上,在Bean中设置变量

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

并在最后或任何活动上获取变量值

Bean bean = new Bean();
String yourValue=bean.getValue();
 类似资料: