2014-10-28 48 views
0

我有10個微調器和一個按鈕。通過點擊按鈕活動A將轉到另一個活動B,並且我希望通過單擊該按鈕並從活動A向活動B添加所選擇的信息,以便在活動B中顯示選定的紡織品信息。發送和接收從一個活動到另一個活動的選定微調器信息

這裏是我的代碼(活性A):

public class Firstactivity extends MainActivity { 

    private Button btn; 
    private Spinner spin; 

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

     btn= (Button)findViewById(R.id.btn1s); 
     spin=(Spinner)findViewById(R.id.spinner1); 
     final String arr[] = {"NONE"," 1*£5.49","2*2.00","3*4.00"}; 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(Firstactivity.this, android.R.layout.simple_dropdown_item_1line, arr); 
     spin.setAdapter(adapter); 
     spin.setOnItemSelectedListener(new OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> arg0, View arg1, 
        int arg2, long arg3) { 
       // TODO Auto-generated method stub 
       Toast.makeText(Firstactivity.this, "the item selected "+arr[arg2],Toast.LENGTH_SHORT).show(); 

      } 

      @Override 
    public void onNothingSelected(AdapterView<?> arg0) { 
       //TODO Auto-generated method stub 

      } 
     }); 


     btn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 
       Intent inte = new Intent (Firstactivity.this, Finalorder.class); 
       String Text = spin.getSelectedItem().toString(); 
       startActivity(inte); 

      } 
     }); 
}} 

活動B:

public class Finalorder extends MainActivity { 

    Bundle Bundle; 
    TextView txt; 
    Button btn; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.last); 

     Bundle=getIntent().getExtras(); 
     btn=(Button)findViewById(R.id.btn1s); 


     Bundle=getIntent().getExtras(); 
     txt.setText(Bundle.getString("SPINNERVAL")); 

    } 
} 

回答

0

您需要與所有紡紗值創建自定義序列化或parcelable對象。並通過活動轉移它。

類似的東西:

public class SpinnersData implements Serializable 
{ 
    private String spinner1; 
    private String spinner2; 
    //.... 
    private String spinner10; 


    public String getSpinner1() 
    { 
     return spinner1; 
    } 
    public void setSpinner1(String spinner1) 
    { 
     this.spinner1 = spinner1; 
    } 
    public String getSpinner2() 
    { 
     return spinner2; 
    } 
    public void setSpinner2(String spinner2) 
    { 
     this.spinner2 = spinner2; 
    } 
    public String getSpinner10() 
    { 
     return spinner10; 
    } 
    public void setSpinner10(String spinner10) 
    { 
     this.spinner10 = spinner10; 
    } 
} 

把它放到意圖在一個活動:

SpinnersData data = new SpinnersData(); 
data.setSpinner1(spinner1.getSelectedItem().toString()); 
data.setSpinner2(spinner2.getSelectedItem().toString()); 
.... 
yourIntent.putExtra("someKey", data); 

並獲得另一活動onCreate()

SpinnersData data = (SpinnersData) getIntent().getExtras().getSerializable("someKey"); 

現在你可以使用這個對象在這裏顯示信息。

+0

它仍然沒有顯示。顯示空的佈局。沒有得到選定的紡紗廠數據。 – sudheir 2014-10-28 20:14:13

+0

你可以發佈代碼的一部分,你把可序列化的對象意圖和你在哪裏得到它在另一個活動? – Vito 2014-10-28 20:19:38

+0

,你確定數據存在於每個微調?也許這個「spinner2.getSelectedItem()。toString()」返回空字符串? – Vito 2014-10-28 20:24:50

相關問題