Java Android微调器-强制关闭错误
----我确实在setcontentview下移动了微调器和textview变量,但是微调器并不公开,所以我可以在void中使用它们。我选择了我应该做什么 好的,我想使用微调器从中获取我的值,并将其与随机生成的值进行比较,如果它们正确,则在textview中显示为绿色,如果不是红色 我只做了一个旋转器的IF语句,只是为了测试它,但它强制关闭 MainPage.javaJava Android微调器-强制关闭错误,java,android,android-emulator,spinner,forceclose,Java,Android,Android Emulator,Spinner,Forceclose,----我确实在setcontentview下移动了微调器和textview变量,但是微调器并不公开,所以我可以在void中使用它们。我选择了我应该做什么 好的,我想使用微调器从中获取我的值,并将其与随机生成的值进行比较,如果它们正确,则在textview中显示为绿色,如果不是红色 我只做了一个旋转器的IF语句,只是为了测试它,但它强制关闭 MainPage.java package com.example.decrypter; import android.os.Bundle; import
package com.example.decrypter;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
public class MainPage extends Activity implements OnItemSelectedListener {
double random1;
int check1,check2,check3,check4,check5;
EditText textbox;
int guess;
String s;
Spinner spinner1 = (Spinner) findViewById(R.id.spinner01);
Spinner spinner2 = (Spinner) findViewById(R.id.spinner02);
Spinner spinner3 = (Spinner) findViewById(R.id.spinner03);
Spinner spinner4 = (Spinner) findViewById(R.id.spinner04);
Spinner spinner5 = (Spinner) findViewById(R.id.spinner05);
TextView display1 = (TextView) findViewById(R.id.txtdisplay1);
TextView display2 = (TextView) findViewById(R.id.txtdisplay2);
TextView display3 = (TextView) findViewById(R.id.txtdisplay3);
TextView display4 = (TextView) findViewById(R.id.txtdisplay4);
TextView display5 = (TextView) findViewById(R.id.txtdisplay5);
Integer[] numbers = {1,2,3,4,5,6,7,8,9};
Button btnrandom = (Button) findViewById(R.id.btnrandom);
Button btn1 = (Button) findViewById(R.id.btn1);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ArrayAdapter <Integer> adapter1 = new ArrayAdapter <Integer>(this, android.R.layout.simple_spinner_item, numbers);
setContentView(R.layout.activity_main_page);
spinner1.setAdapter(adapter1);
spinner1.setOnItemSelectedListener(this);
spinner2.setAdapter(adapter1);
spinner2.setOnItemSelectedListener(this);
spinner3.setAdapter(adapter1);
spinner3.setOnItemSelectedListener(this);
spinner4.setAdapter(adapter1);
spinner4.setOnItemSelectedListener(this);
spinner5.setAdapter(adapter1);
spinner5.setOnItemSelectedListener(this);
btnrandom.setOnClickListener( new View.OnClickListener()
{
public void onClick(View v) {
// TODO Auto-generated method stub
random1 = Math.floor(Math.random()*10);
//display.setText("random:" + random1);
/*check1 = Integer.parseInt(spinner1.getSelectedItem().toString()) ;
*/
}
});
btn1.setOnClickListener( new View.OnClickListener()
{
public void onClick(View v) {
// TODO Auto-generated method stub
if(check1==random1){
display1.setTextColor(Color.GREEN);
display1.setText(s);
}
else{
display1.setTextColor(Color.RED);
display1.setText(s);
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main_page, menu);
return true;
}
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
check1 = Integer.parseInt(spinner1.getSelectedItem().toString());
check2 = Integer.parseInt(spinner2.getSelectedItem().toString()) ;
check3 = Integer.parseInt(spinner3.getSelectedItem().toString()) ;
check4 = Integer.parseInt(spinner4.getSelectedItem().toString()) ;
check5 = Integer.parseInt(spinner5.getSelectedItem().toString()) ;
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
package com.example.decrypter;
导入android.os.Bundle;
导入android.app.Activity;
导入android.graphics.Color;
导入android.view.Menu;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemSelectedListener;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Spinner;
导入android.widget.TextView;
公共类主页面扩展活动实现了MSelectedListener{
双随机1;
int check1,check2,check3,check4,check5;
编辑文本框;
智力猜测;
字符串s;
喷丝器喷丝器1=(喷丝器)findViewById(R.id.spinner01);
喷丝器喷丝器2=(喷丝器)findViewById(R.id.spinner02);
喷丝器喷丝器3=(喷丝器)findViewById(R.id.spinner03);
喷丝器喷丝器4=(喷丝器)findViewById(R.id.spinner04);
喷丝器喷丝器5=(喷丝器)findViewById(R.id.spinner05);
TextView display1=(TextView)findViewById(R.id.txtdisplay1);
TextView display2=(TextView)findViewById(R.id.txtdisplay2);
TextView display3=(TextView)findViewById(R.id.txtdisplay3);
TextView display4=(TextView)findViewById(R.id.txtdisplay4);
TextView display5=(TextView)findViewById(R.id.txtdisplay5);
整数[]数={1,2,3,4,5,6,7,8,9};
按钮btnrandom=(按钮)findViewById(R.id.btnrandom);
按钮btn1=(按钮)findViewById(R.id.btn1);
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ArrayAdapter adapter1=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,数字);
setContentView(R.layout.activity\u主页);
喷丝头1.设置适配器(适配器1);
喷丝头1.SetonimSelectedListener(此);
喷丝头2.设置适配器(适配器1);
喷丝头2.SetonimSelectedListener(此);
喷丝头3.设置适配器(适配器1);
喷丝头3.SetonimSelectedListener(此);
喷丝头4.设置适配器(适配器1);
喷丝头4.SetonimSelectedListener(此);
喷丝头5.设置适配器(适配器1);
喷丝头5.SetonimSelectedListener(此);
btnrandom.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v){
//TODO自动生成的方法存根
random1=数学地板(数学随机()*10);
//display.setText(“random:+random1”);
/*check1=Integer.parseInt(spinner1.getSelectedItem().toString());
*/
}
});
btn1.setOnClickListener(新视图.OnClickListener()
{
公共void onClick(视图v){
//TODO自动生成的方法存根
如果(检查1==random1){
display1.setTextColor(颜色为绿色);
显示1.设置文本;
}
否则{
display1.setTextColor(颜色为红色);
显示1.设置文本;
}
}
});
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.activity\u主页面,菜单);
返回true;
}
@凌驾
已选择公共视图(适配器视图arg0、视图arg1、内部arg2、,
长arg3){
//TODO自动生成的方法存根
check1=Integer.parseInt(spinner1.getSelectedItem().toString());
check2=Integer.parseInt(spinner2.getSelectedItem().toString());
check3=Integer.parseInt(spinner3.getSelectedItem().toString());
check4=Integer.parseInt(spinner4.getSelectedItem().toString());
check5=Integer.parseInt(spinner5.getSelectedItem().toString());
}
@凌驾
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
}
雄激素单
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.decrypter"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainPage"
android:label="@string/title_activity_main_page" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
仅供参考,您可以在不为活动类设置布局的情况下查找视图。因此,在
setContentView()
之后编写那些findViewsById()
例如:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_page); //set layout
Spinner spinner1 = (Spinner) findViewById(R.id.spinner01);
Spinner spinner2 = (Spinner) findViewById(R.id.spinner02);
.....
.....
.....
}
还有一件事,如果您想在整个类中访问这些所有视图,请声明这些视图的类级别。在代码行
setContentView(R.layout.activity\u主页)之后将下面的代码写入onCreate()方法中代码>,它将解决您的问题
Spinner spinner1 = (Spinner) findViewById(R.id.spinner01);
Spinner spinner2 = (Spinner) findViewById(R.id.spinner02);
Spinner spinner3 = (Spinner) findViewById(R.id.spinner03);
Spinner spinner4 = (Spinner) findViewById(R.id.spinner04);
Spinner spinner5 = (Spinner) findViewById(R.id.spinner05);
TextView display1 = (TextView) findViewById(R.id.txtdisplay1);
TextView display2 = (TextView) findViewById(R.id.txtdisplay2);
TextView display3 = (TextView) findViewById(R.id.txtdisplay3);
TextView display4 = (TextView) findViewById(R.id.txtdisplay4);
TextView display5 = (TextView) findViewById(R.id.txtdisplay5);
Button btnrandom = (Button) findViewById(R.id.btnrandom);
Button btn1 = (Button) findViewById(R.id.btn1);
如果我移动微调器,那么我不能在公共空间使用它们。如果我将最终结果放在它前面,它也不会被识别。我该怎么办?如果我移动微调器,那么我不能在公共空间使用它们。如果我将最终结果放在它前面,它也不会被识别。我该怎么办?