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 : 당신은 모든 스피너 값으로 사용자 정의 직렬화 또는 parcelable 객체를 생성 할 필요가
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"));
}
}
여전히 표시되지 않습니다. 빈 레이아웃을 표시합니다. 선택한 스피너 데이터를 가져 오지 못합니다. – sudheir
직렬화 가능 객체를 의도에 넣고 다른 활동에서 가져 오는 코드의 일부를 게시 할 수 있습니까? – Vito
그리고 모든 회 전자에 데이터가 있는지 확인 하시겠습니까? 어쩌면이 "spinner2.getSelectedItem(). toString()"빈 문자열을 반환합니까? – Vito