Android 旋转器问题,安卓
我正在开发一款Android应用程序。我的UI的一部分有一个微调器。微调器列出了五个位置的名称。此外,在同一布局上,有两个单选按钮。我想根据所选的选项创建一个新的“活动”——一个来自“地点”列表,另一个来自两个单选按钮。假设从列表中选择place1并选择radiobutton1,则需要相应地打开一个新的意图。 我在代码中加入了适配器视图,但应用程序在第二个屏幕后关闭。LogCat(我正在使用Eclipse)指出了一个与适配器相关的问题。这是代码。请建议其他替代方案或任何修改。提前谢谢Android 旋转器问题,安卓,android,eclipse,spinner,Android,Eclipse,Spinner,我正在开发一款Android应用程序。我的UI的一部分有一个微调器。微调器列出了五个位置的名称。此外,在同一布局上,有两个单选按钮。我想根据所选的选项创建一个新的“活动”——一个来自“地点”列表,另一个来自两个单选按钮。假设从列表中选择place1并选择radiobutton1,则需要相应地打开一个新的意图。 我在代码中加入了适配器视图,但应用程序在第二个屏幕后关闭。LogCat(我正在使用Eclipse)指出了一个与适配器相关的问题。这是代码。请建议其他替代方案或任何修改。提前谢谢 packa
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;
另外,我建议你读一读,因为给一个类命名为两个。这个类真的很糟糕……请详细说明,我不太明白。此外,我完全同意更改名称。这是一个试用代码,它指向我的第二个屏幕。我会改变的。谢谢