0

EditTextボタンを押すと、あるアクティビティの値を別のアクティビティに渡し、その値をコードで使用したいと考えています。ただし、それらのアクティビティの間に、その値を使用したくないアクティビティがもう 1 つあります。

私の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このような1つのクラスを作成し、

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()して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> 
于 2013-04-04T10:14:49.893 に答える