1

ボタンの onClickListener を設定して、別のアクティビティ (フラグメント部分は動作します) を開き、ユーザーに編集テキスト ボックスに数値を入力するように求めます。ボタン OK は、そのアクティビティを閉じ、結果をメイン アクティビティに渡します。次に、データ、つまり抽出された数値は、文字列配列の配列インデックスを設定します。それを行う方法について何か考えはありますか?

主な活動

public class Quotes extends Activity {

    ImageButton next, copytext, previous, kahinbhi;

    TextView q, tview1, nm;

    String[] str;
    int i,value=0;

    ...
        ...

kahinbhi.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {

                // TODO Auto-generated method stub
                startActivityForResult(kahinsebhi,value);

            }
        });

    }




    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
         if (requestCode == value) {
                // Make sure the request was successful
                if (resultCode == RESULT_OK) {


                    q.setText(str[data]);



                }
            }


    }


             .....
......

新しいアクティビティのレイアウト

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/kahinbhiedit"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number" >

        <requestFocus />

        <requestFocus />

    </EditText>

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText1"
        android:layout_centerHorizontal="true"
        android:text="@string/ok" />

</RelativeLayout>

新しいアクティビティの Java コード

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;

public class kahinsebhii extends Activity {
    Button ok;
    EditText number;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.kahinsebhii);

    }

}
4

2 に答える 2

0

これをするだけ

Intent i=new Intent(MainActivity.this,Activity2.class);
                String[]  myString=new  String[]{"editText.getText().toString()"};
                i.putExtra("Strings",myString);
                startActivity(i);

Intent intent=getIntent();
        String[] myString2=intent.getStringArrayExtra("strings");
于 2013-04-27T18:27:20.537 に答える
0

更新しました :

EditText editText = (EditText)findViewById(R.id.editText1);

クラスA:

Intent intent = new Intent(this, ClassB);
intent.putExtra("string", editText.getText().toString());
startActivity(intent);

クラス B では:

public void onCreate() {
 Intent intent = getIntent();
 String myString = intent.getStringExtra("string");
}
于 2013-04-27T17:54:56.077 に答える