如何在Android中将Edittext的值从一项活动传递给其他人?
问题描述:
我想将一个活动中的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
在这里我想使用该值作为一个字符串。
答
这是另一种解决方案; 创建一个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
在Bean
设置variable
。
Bean bean = new Bean();
bean.setValue("your value");
,并获得最后的variable value
或任何Activity
Bean bean = new Bean();
String yourValue=bean.getValue();
答
可以使用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>
你试图使用'Intents'? – mango 2013-04-04 10:13:52
不,我不知道如何使用意图在这种情况下 – userxxx 2013-04-04 10:15:14
@ShivamBansal下面的答案解决您的问题? – NullPointer 2013-04-04 10:37:39