0

Profile.class と Details.class の 2 つのクラスがあります。

プロファイル クラスでは、(ATM、Banking、Personal、Others など) とボタン (OK) のような値を持つスピナーを使用しました。[OK] ボタンをクリックすると、名前、説明などの詳細を取得する詳細アクティビティである次のアクティビティに移動します。

詳細を入力した後、ボタンを付けました(保存)。ボタンをクリックすると、名前と説明がデータベースに保存されますが、プロファイル名も詳細とともに保存したいと思います。選択したスピナー テキストを Profile.class から Details.class に転送できません

転送方法は?

create.class コード

public class Create extends Activity {

    public ArrayList<String> array_spinner;
    Button button4;
    String spinnertext;

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.create);
        Spinner spinner = (Spinner) findViewById(R.id.spinner1);
        array_spinner=new ArrayList<String>();
        array_spinner.add("ATM");
        array_spinner.add("Bank");
        array_spinner.add("Mail");


        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, array_spinner);
        adapter.setNotifyOnChange(true);
        spinner.setAdapter(adapter);

        spinner.setLongClickable(true);
        spinner.setOnLongClickListener(new OnLongClickListener(){

            public boolean onLongClick(View v) {
                // TODO Auto-generated method stub


                return false;

       }}
       );


        button4 = (Button)findViewById(R.id.button4);
        button4.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent myIntent4 = new Intent(view.getContext(), Details.class); 
                startActivityForResult(myIntent4, 0);

                myIntent4 .putExtra("key", array_spinner.getSelectedItem().toString());
                startActivity(myIntent4);
            }

        });

}}

details.class コード

public class Details extends Activity {

EditText editText4,editText5,editText6;
Button button8,button9,button10;
TextView textView7;
String et4,et5,et6;
//SQLite Database db;


/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.details);

    String spinnervalue = getIntent().getExtras().getString("Key");

この「鍵」とは何か、親切に説明してください。

4

3 に答える 3

1

別のアクティビティにデータを送信する場合は、 を使用して実行できますintent

Bundle bund = new Bundle();

bund.putString("myKey",name);

Intent intent = new Intent(Profile.this, Detail.class);

intent.putExtras(bund);

startActivity(intent);

Detail クラスでは、このデータを onCreate() で受け取ります

    @Override
protected void onCreate(Bundle savedInstanceState) {
      .......

    String nameReceived = getIntent().getExtras().getString("myKey");
}

String を別のアクティビティに渡す例を示しましたが、boolean、int、double などを別のアクティビティに渡すことができます。ここで完全なリストを参照してください

于 2013-08-10T09:39:00.300 に答える
1

最初にスピナーを取得し、必要な値を提供してから、選択したスピナー値を文字列値に変更します。この文字列変数は、[OK] ボタンで使用され、インテントまたは共有設定を使用して値を渡し、この値を別のアクティビティであり、そこからデータベースで使用してこの値を表示できます。

于 2013-08-10T09:32:59.157 に答える