2012-11-08 64 views
0

----我確實在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

分享日誌.... –

回答

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

0

僅供參考,你可以找到瀏覽而不佈局設置爲您的活動類。所以在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