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> 

+0

分享日志.... –

在代码行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); 
+0

如果我移动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); 
    ..... 
    ..... 
    ..... 
} 

一件事,如果你想访问在全班所有这些意见,宣布对那些一流水平。

+0

如果我移动微调的话,我不能在onitemselected因为公共无效使用它们甚至不会,如果我之前把最后我应该怎么办的认可? – user1808592