0

Switch、TextViewなどのいくつかの要素を含むアクティビティを持つAndroidアプリケーションを作成しています.

チェックされているかどうかに関係なく、すべての Switch 要素から値を取得する必要があります。

複数の値を別のアクティビティに転送してさらに計算するための適切な方法を誰かが教えてくれれば幸いです。

ありがとう

ここに私のXMLコードがあります:

           <LinearLayout
                android:id="@+id/configSwitchHldr"
                android:layout_marginTop="10dp"
                android:layout_span="2"
                android:gravity="center"
                android:orientation="vertical"
                android:paddingLeft="30dp"
                android:paddingRight="30dp" >

                <TextView 
                    android:text="@string/coreHardware"
                    android:layout_width="fill_parent"
                    android:layout_height="20dp"
                    android:textColor="@color/green"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"
                    />
                <View 
                   android:layout_width="fill_parent"
                   android:layout_height="2dp"       
                   android:background="#363636" />
                <Switch
                    android:id="@+id/switch1"
                    android:layout_width="fill_parent"
                    android:layout_height="14.5sp"
                    android:textOn="ON"
                    android:textOff="OFF"
                    android:text="CPU"              
                    android:paddingLeft="5dp"
                    android:paddingRight="5dp"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"
                    />
                <View 
                   android:layout_width="fill_parent"
                   android:layout_height="1dp"       
                   android:background="#363636" />

                <Switch
                    android:id="@+id/switch2"
                    android:layout_width="fill_parent"
                    android:layout_height="14.5sp"
                    android:textOn="ON"
                    android:textOff="OFF"
                    android:text="Memory" 
                    android:paddingLeft="5dp"
                    android:paddingRight="5dp"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"/>

                <View 
                   android:layout_width="fill_parent"
                   android:layout_height="1dp"       
                   android:background="#363636" />

                <Switch
                    android:id="@+id/switch3"
                    android:layout_width="fill_parent"
                    android:layout_height="14.5sp"
                    android:textOn="ON"
                    android:textOff="OFF"
                    android:text="Storage" 
                    android:paddingLeft="5dp"
                    android:paddingRight="5dp"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp"/>

                <View 
                   android:layout_width="fill_parent"
                   android:layout_height="1dp"       
                   android:background="#363636" />

            </LinearLayout>
4

1 に答える 1

0

わかりましたので、あなたのコメントに基づいて、これを行う方法は次のとおりです。

最初のActivityでは、すべてのスイッチの状態を収集して次のアクティビティに渡すメソッドが必要です。パラメータを他のアクティビティに渡すには、Intent送信する 内にパラメータを配置して新しい を開きますActivity

状態を取得しSwitchesて new に渡す方法は、Activity大まかに次のようになります。

Intent i = new Intent(MainActivity.this, NewActivity.class);
i.putExtra("switch1", switch1.isChecked());
i.putExtra("switch2", switch2.isChecked());
i.putExtra("switch3", switch3.isChecked());
startActivity(i);

Buttonたとえば、次のように onClickListener 内にこれを配置します。

button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent i = new Intent(MainActivity.this, NewActivity.class);
        i.putExtra("switch1", switch1.isChecked());
        i.putExtra("switch2", switch2.isChecked());
        i.putExtra("switch3", switch3.isChecked());
        startActivity(i);
    }
});

をクリックするButtonと、NewActivity に送信されます。

MainActivity から渡されたパラメーターを取得するには、NewActivity の onCreate メソッドで次のようにする必要があります。

boolean bool1 = getIntent().getExtras().getBoolean("switch1");
boolean bool2 = getIntent().getExtras().getBoolean("switch2");
boolean bool3 = getIntent().getExtras().getBoolean("switch3");

変数をブール配列内に配置することで MainActivity から変数を渡すことができますが、それは私の意見ではやり過ぎです。

この SO 投稿もご覧ください: How do I pass data between Activities in Android application? - これはたくさんあります。

于 2013-01-11T14:06:20.317 に答える