Android-Spinners-强制关闭错误
----我确实在setcontentview下移动了微调器和textview变量,但之后不知道旋转器是否公开,所以我可以在void中使用它们onitemselected我应该怎么做?Android-Spinners-强制关闭错误
行,所以我想用纺纱厂,从他们那里得到了我的价值观,并将其与随机生成的人作比较,如果它们是正确的绿色,如果不是红 显示他们的TextView和我做这IF语句给一个微调只是为了测试它,但它强制关闭。
MainPage.java
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
}
}
AndroidManifest
<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(R.layout.activity_main_page);
后面写代码到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);
如果我移动spinners然后我不能使用它们在public void onitemselected,因为它不会被承认,即使我把最终决定之前它应该怎么办? – user1808592
仅供参考,你可以找到浏览而不布局设置为您的活动类。所以在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);
.....
.....
.....
}
一件事,如果你想访问在全班所有这些意见,宣布对那些一流水平。
如果我移动微调的话,我不能在onitemselected因为公共无效使用它们甚至不会,如果我之前把最后我应该怎么办的认可? – user1808592
分享日志.... –