Android 旋转器问题,安卓

Android 旋转器问题,安卓,android,eclipse,spinner,Android,Eclipse,Spinner,我正在开发一款Android应用程序。我的UI的一部分有一个微调器。微调器列出了五个位置的名称。此外,在同一布局上,有两个单选按钮。我想根据所选的选项创建一个新的“活动”——一个来自“地点”列表,另一个来自两个单选按钮。假设从列表中选择place1并选择radiobutton1,则需要相应地打开一个新的意图。 我在代码中加入了适配器视图,但应用程序在第二个屏幕后关闭。LogCat(我正在使用Eclipse)指出了一个与适配器相关的问题。这是代码。请建议其他替代方案或任何修改。提前谢谢 packa

我正在开发一款Android应用程序。我的UI的一部分有一个微调器。微调器列出了五个位置的名称。此外,在同一布局上,有两个单选按钮。我想根据所选的选项创建一个新的“活动”——一个来自“地点”列表,另一个来自两个单选按钮。假设从列表中选择place1并选择radiobutton1,则需要相应地打开一个新的意图。 我在代码中加入了适配器视图,但应用程序在第二个屏幕后关闭。LogCat(我正在使用Eclipse)指出了一个与适配器相关的问题。这是代码。请建议其他替代方案或任何修改。提前谢谢

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;
    }

}
package com.example.travel;
导入android.os.Bundle;
导入android.app.Activity;
导入android.content.Intent;
导入android.view.Menu;
导入android.view.view;
导入android.widget.Button;
导入android.widget.RadioGroup;
导入android.widget.Spinner;
导入android.widget.TextView;
导入android.widget.Toast;
导入android.view.view.OnClickListener;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemSelectedListener;
@抑制警告(“未使用”)
公共课堂活动{
文本视图电视;
//int result_code=1;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(右布局三);
tv=(TextView)findViewById(R.id.textView1);
Toast.makeText(这是“第三屏”,Toast.LENGTH_SHORT.show();
按钮b1=(按钮)findViewById(R.id.button1);
按钮b2=(按钮)findViewById(R.id.button2);
_微调器的int=0;
_收音机的整数=0;
b1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
意向i=新意向(孟买,本,二级);
setResult(3,i);
完成();
}
});
放射组放射组=(放射组)findViewById(R.id.RadioGroup 2);
int checkedRadioButton=radiogroup.getCheckedRadioButtonId();
开关(选中RadioButton){
案例R.id.radio0:对于_无线电=1;
打破
案例R.id.radio1:对于_无线电=2;
打破
}
微调器答案=(微调器)findViewById(R.id.spinner1);
response.setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
int value_微调器=(整数)parent.getItemAtPosition(位置);
开关(位置){
案例0://1
_微调器的int=1;
打破
案例1://2
对于_微调器=2;
打破
案例2://3
对于_微调器=3;
打破
案例3://4
对于_微调器=4;
打破
案例4://5
对于_微调器=5;
打破
}
} 
未选择公共无效(AdapterView父级){
_微调器的int=1;
}
});
旋转器的最终int new旋转=0;
收音机的最终int new_=0;
对于_微调器=对于_微调器,新建_;
b2.setOnClickListener(新视图.OnClickListener(){
//@抑制警告(“未使用”)
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
if(新的\u用于\u无线电==1和新的\u用于\u微调器==1)
{
意向i1=新意向(孟买、这个、食品、阶级);
startActivityForResult(i1,1);
i1.putExtra(“新的旋转器”、“值”);
}
if(新的\u用于\u无线电==1和新的\u用于\u微调器==2)
{
意向i1=新意向(孟买、这个、食品、阶级);
startActivityForResult(i1,1);
i1.putExtra(“新的旋转器”、“值”);
}
if(新的\u用于\u无线电==1和新的\u用于\u微调器==3)
{
意向i1=新意向(孟买、这个、食品、阶级);
startActivityForResult(i1,1);
i1.putExtra(“新的旋转器”、“值”);
}
if(新的\u用于\u无线电==1和新的\u用于\u微调器==4)
{
意向i1=新意向(孟买、这个、食品、阶级);
startActivityForResult(i1,1);
i1.putExtra(“新的旋转器”、“值”);
}
if(新的\u用于\u无线电==1和新的\u用于\u微调器==5)
{
意向i1=新意向(孟买、这个、食品、阶级);
startActivityForResult(i1,1);
i1.putExtra(“新的旋转器”、“值”);
}
}
});
}
受保护的void onActivityResult(int请求代码、int结果代码、意图数据)
{
if(requestCode==1&&resultCode==0)
{
Toast.makeText(这是“从图像页返回”,Toast.LENGTH_SHORT.show();
super.onActivityResult(请求代码、结果代码、数据);
}
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
}

由于以下原因,您可以为\u微调器设置变量新建\u为\u收音机设置变量和为\u微调器设置变量

 for_spinner=new_for_spinner; 

另外,我建议你读一读,因为给一个类命名为两个。这个类真的很糟糕……

请详细说明,我不太明白。此外,我完全同意更改名称。这是一个试用代码,它指向我的第二个屏幕。我会改变的。谢谢