2012-01-05 61 views
2

我有一个微调问题。当我自动打开该类(其中是微调器)时,它会自动选择列表中的最后一项,但它不会在吐司中显示消息。当我通过点击选择该项目时,他们会向我显示一条消息。我的代码有什么问题?微调消息问题

这是我的代码:

public class SelectCodIncidence extends Activity { 

private ArrayList<String> datos; 
protected netAppApplication app; 
Spinner sp; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.codigoincidencia); 
    datos = new ArrayList<String>(); 
    //datosCod = new ArrayList<String>(); 

    try { 
     NotesCenter messageCenter = new NotesCenterImpl(); 

     List<CodIncidence> codincidence = messageCenter.getCodIncidence();          
     for (CodIncidence e : codincidence) { 
      //datosCod.add("1"); 
      datos.add(e.id); 

     } 
     } catch (Exception ex) { 
     // showMessage(ex); 
      Log.v("blah", ex.getMessage()); 


     } 
    sp = (Spinner)findViewById(R.id.spinner); 

    ArrayAdapter<String> adaptador = 
      new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, datos); 
    sp.setAdapter(adaptador); 

    sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

     public void onItemSelected(AdapterView<?> arg0, android.view.View arg1, int arg2, long arg3) { 

        int count = sp.getCount(); 
       if (count > 0){ 
        sp.setSelection(count -1,true); 

        int item = sp.getSelectedItemPosition(); 

        Toast.makeText(getBaseContext(), 

           "Incidence Selected: " + datos.get(item), 
           Toast.LENGTH_SHORT).show(); 

       } 

      } 
     public void onNothingSelected(AdapterView<?> arg0) { 
      return; 
     } 

    }); 
    } 
    } 
} 

LOG:

01-05 13:58:04.097:E/AndroidRuntime(1944):致命异常:主 01-05 13: 58:04.097:E/AndroidRuntime(1944):java.lang.StackOverflowError的 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.text.Styled.measureText(Styled.java:430) 01 -05 13:58:04.097:E/AndroidRuntime(1944):at android.text.Layout.measureText(Layout.java:1655) 0 1-05 13:58:04.097:E/AndroidRuntime(1944):在android.text.Layout.getLineMax(Layout.java:689) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android .text.Layout.getLineWidth(Layout.java:671) 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.widget.TextView.compressText(TextView.java:5150) 01-05 13 :58:04.097:E/AndroidRuntime(1944):at android.widget.TextView.makeNewLayout(TextView.java:5129) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.TextView .onMeasure(TextView.java:5328) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.view.View.measure(View.java:8313) 01-05 13:58:04.097 :E/AndroidRuntime(1944):at android.widget.Spinner.setUpChild(Spinner.java:228) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.Spinner.makeAndAd dView(Spinner.java:185) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.Spinner.layout(Spinner.java:151) 01-05 13:58:04.097: E/AndroidRuntime(1944):在android.widget.AbsSpinner.setSelectionInt(AbsSpinner.java:292) 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.widget.AbsSpinner.setSelection(AbsSpinner。的java:269) 01-05 13:58:04.097:E/AndroidRuntime(1944):在Net.App.SelectCodIncidence $ 1.onItemSelected(SelectCodIncidence.java:64) 01-05 13:58:04.097:E/AndroidRuntime (1944):at android.widget.AdapterView.fireOnSelected(AdapterView.java:871) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.selectionChanged(AdapterView.java:854 ) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.checkSelectionCh (AdapterView.java:977) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.Spinner.layout(Spinner.java:161) 01-05 13:58:04.097: E/AndroidRuntime(1944):在android.widget.AbsSpinner.setSelectionInt(AbsSpinner.java:292) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AbsSpinner.setSelection(AbsSpinner。的java:269) 01-05 13:58:04.097:E/AndroidRuntime(1944):在Net.App.SelectCodIncidence $ 1.onItemSelected(SelectCodIncidence.java:64) 01-05 13:58:04.097:E/AndroidRuntime (1944):at android.widget.AdapterView.fireOnSelected(AdapterView.java:871) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.selectionChanged(AdapterView.java:854 ) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.checkSelecti调用onChanged(AdapterView.java:977) 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.widget.Spinner.layout(Spinner.java:161) 01-05 13:58:04.097: E/AndroidRuntime(1944):在android.widget.AbsSpinner.setSelectionInt(AbsSpinner.java:292) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AbsSpinner.setSelection(AbsSpinner。 java:269) 01-05 13:58:04.097:E/AndroidRuntime(1944):at Net.App.SelectCodIncidence $ 1.onItemSelected(SelectCodIncidence。的java:64) 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.widget.AdapterView.fireOnSelected(AdapterView.java:871) 01-05 13:58:04.097:E/AndroidRuntime( 1944):在android.widget.AdapterView.selectionChanged(AdapterView.java:854) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.checkSelectionChanged(AdapterView.java:977) 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.widget.Spinner.layout(Spinner.java:161) 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.widget.AbsSpinner.setSelectionInt(AbsSpinner.java:292) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AbsSpinner.setSelection(AbsSpinner.java:269) 01-05 13:58:04.097:E/AndroidRuntime(1944):at Net.App.SelectCodIncidence $ 1.onItemSelected(SelectCodIncide nce.java:64) 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.widget.AdapterView.fireOnSelected(AdapterView.java:871) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.selectionChanged(AdapterView.java:854) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.checkSelectionChanged(AdapterView.java: 977) 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.widget.Spinner.layout(Spinner.java:161) 01-05 13:58:04.097:E/AndroidRuntime(1944) :at android.widget.AbsSpinner.setSelectionInt(AbsSpinner.java:292) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AbsSpinner.setSelection(AbsSpinner.java:269) 01 -05 13:58:04.097:E/AndroidRuntime(1944):at Net.App.SelectCodIncidence $ 1.onItemSelected(SelectCodIn cidence.java:64) 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.widget.AdapterView.fireOnSelected(AdapterView.java:871) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.selectionChanged(AdapterView.java:854) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.checkSelectionChanged(AdapterView.java: 977) 01-05 13:58:04.097:E/AndroidRuntime(1944):在android.widget.Spinner.layout(Spinner.java:161) 01-05 13:58:04.097:E/AndroidRuntime(1944) :at android.widget.AbsSpinner.setSelectionInt(AbsSpinner.java:292) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AbsSpinner.setSelection(AbsSpinner.java:269) 01 -05 13:58:04.097:E/AndroidRuntime(1944):at Net.App.SelectCodIncidence $ 1.onItemSelected(SelectC odIncidence.java:64)01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.fireOnSelected(AdapterView.java:871) 01-05 13:58:04.097:E/AndroidRuntime (1944):at android.widget.AdapterView.selectionChanged(AdapterView.java:854) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.checkSelectionChanged(AdapterView.java:977 ) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.Spinner.layout(Spinner.java:161) 01-05 13:58:04.097:E/AndroidRuntime(1944)在android.widget.AbsSpinner.setSelectionInt(AbsSpinner.java:292) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AbsSpinner.setSelection(AbsSpinner.java:269) 01- 05 13:58:04.097:E/AndroidRuntime(1944):at Net.App.SelectCodIncidence $ 1.onItemSelected(SelectCodIncidence.java:64) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.fireOnSelected(AdapterView.java:871) 01-05 13:58:04.097:E/AndroidRuntime(1944):at android.widget.AdapterView.selectionChanged(AdapterView.java:854)

+0

所以你想头球微调一些文字或者你想要最后选择的项目烤面包? – 2012-01-05 13:15:15

+0

我想与最后选定的项目烤面包 – HaOx 2012-01-05 13:16:13

回答

1

把你的面包立即这个条件 后类似下面

if (count > 0){ 
    sp.setSelection(count-1,true); 
    Toast.makeText(getBaseContext(), 
       "Incidence Selected: " + datos.get(item), 
       Toast.LENGTH_SHORT).show(); 
+0

感谢您的回答。我试图把代码像你说的那样(我已经编辑了上面的代码),但是当我打开这个类时,它给了我一个错误“对不起!应用程序netApp(process net.App)意外停止,请再试一次” ,并且应用程序正在关闭。 – HaOx 2012-01-05 14:03:05

+0

你能告诉我确切的logcat打印错误吗 – 2012-01-05 14:19:54

+0

是的,它在上面。我正在检查“Log.i(”“,”“);”错误在哪里。并且错误在这一行“sp.setSelection(count -1,true);” – HaOx 2012-01-05 14:38:10