나는 안드로이드 애플 리케이션에서 일하고 있습니다. 내 UI의 일부에는 회 전자가 있습니다. 회 전자의 이름은 다섯 곳으로되어 있습니다. 또한 동일한 레이아웃에는 두 개의 라디오 버튼이 있습니다. 선택된 옵션에 따라 새로운 활동을 만들고 싶습니다. 하나는 장소 목록과 두 개의 라디오 버튼 중 하나입니다. place1이 목록에서 선택되고 radiobutton1이 선택되었다고 가정하면 이에 따라 새로운 의도를 열어야합니다. 코드에 어댑터보기가 포함되어 있지만 두 번째 화면 이후에 응용 프로그램이 닫힙니다. LogCat (Eclipse를 사용하고 있습니다)는 어댑터 관련 문제를 지적합니다. 여기에 코드가 있습니다. 다른 대안이나 수정을 제안하십시오. 미리 감사드립니다!회 전자 문제, Android
package com.example.travel;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
@SuppressWarnings("unused")
public class Mumbai extends Activity {
TextView tv;
//int result_code=1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.three);
tv=(TextView)findViewById(R.id.textView1);
Toast.makeText(this, "third Screen.", Toast.LENGTH_SHORT).show();
Button b1=(Button)findViewById(R.id.button1);
Button b2=(Button)findViewById(R.id.button2);
int for_spinner=0;
int for_radio=0;
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i=new Intent(Mumbai.this,two.class);
setResult(3,i);
finish();
}
});
RadioGroup radiogroup=(RadioGroup)findViewById(R.id.radioGroup2);
int checkedRadioButton=radiogroup.getCheckedRadioButtonId();
switch(checkedRadioButton) {
case R.id.radio0 : for_radio=1;
break;
case R.id.radio1 : for_radio=2;
break;
}
Spinner answer=(Spinner)findViewById(R.id.spinner1);
answer.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
int value_spinner= (Integer) parent.getItemAtPosition(position);
switch(position) {
case 0: //place1
int for_spinner=1;
break;
case 1: //place2
for_spinner=2;
break;
case 2: //place3
for_spinner=3;
break;
case 3: //place4
for_spinner=4;
break;
case 4: //place5
for_spinner=5;
break;
}
}
public void onNothingSelected(AdapterView<?> parent) {
int for_spinner=1;
}
});
final int new_for_spinner=0;
final int new_for_radio=0;
for_spinner=new_for_spinner;
b2.setOnClickListener(new View.OnClickListener() {
//@SuppressWarnings("unused")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(new_for_radio==1 && new_for_spinner==1)
{
Intent i1= new Intent(Mumbai.this,food.class);
startActivityForResult(i1,1);
i1.putExtra("new_for_spinner","value");
}
if(new_for_radio==1 && new_for_spinner==2)
{
Intent i1= new Intent(Mumbai.this,food.class);
startActivityForResult(i1,1);
i1.putExtra("new_for_spinner","value");
}
if(new_for_radio==1 && new_for_spinner==3)
{
Intent i1= new Intent(Mumbai.this,food.class);
startActivityForResult(i1,1);
i1.putExtra("new_for_spinner","value");
}
if(new_for_radio==1 && new_for_spinner==4)
{
Intent i1= new Intent(Mumbai.this,food.class);
startActivityForResult(i1,1);
i1.putExtra("new_for_spinner","value");
}
if(new_for_radio==1 && new_for_spinner==5)
{
Intent i1= new Intent(Mumbai.this,food.class);
startActivityForResult(i1,1);
i1.putExtra("new_for_spinner","value");
}
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(requestCode==1 && resultCode==0)
{
Toast.makeText(this, "Back from Image page", Toast.LENGTH_SHORT).show();
super.onActivityResult(requestCode, resultCode, data);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
제발 정교하게, 나는 그것을 얻지 못했습니다. 또한 이름 변경과 완전히 동의합니다. 평가판 코드이고 두 번째 화면을 가리 킵니다. 그것을 바꿀 것입니다. 감사. –