2010-07-21 2 views
4

placeSpinner.getSelectedItem().toString();texte Obtenir de spinner

donc je suis à l'aide des lignes de codage pour obtenir le texte de mon spinner et le transmettre à un autre fichier java. Mais l'application continue à me donner une force proche quand je fais cela.

Comment puis-je résoudre cette erreur?

Merci beaucoup.

+1

Poster un stacktrace et plus code correspondant à votre question. – st0le

+0

qu'est-ce que vous voulez faire? Voulez-vous obtenir le texte de l'élément sélectionné de spinner ou voulez-vous passer le nom de l'élément sélectionné à un autre fichier java ???? –

Répondre

0

J'espère que cela vous sera utile.

Essayez ce code ...

Ici je stocke l'index et la valeur de spinner sélectionnée dans SharedPreferences

private SharedPreferences prefs; 
private String prefName = "spinn"; 

final List<String> list=new ArrayList<String>(); 

list.add("Item 1"); 
list.add("Item 2"); 
list.add("Item 3"); 
list.add("Item 4"); 
list.add("Item 5"); 

final Spinner sp1= (Spinner) findViewById(R.id.spinner1); 
ArrayAdapter<String> adp1=new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1,list); 
adp1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
sp1.setAdapter(adp1); 

sp1.setOnItemSelectedListener(new OnItemSelectedListener() 
{ 

    @Override 
    public void onItemSelected(AdapterView<?> arg0, View arg1, 
        int position, long id) { 
    // TODO Auto-generated method stub 
    int pos1=position; 
    String str1=sp1.getSelectedItem().toString(); 

    prefs = getSharedPreferences(prefName, MODE_PRIVATE); 
    SharedPreferences.Editor editor = prefs.edit(); 

    //---save the values in the EditText view to preferences--- 
    editor.putInt("index", pos1); 
    editor.putString("value", str1); 

    //---saves the values--- 
    editor.commit(); 

    } 

    @Override 
    public void onNothingSelected(AdapterView<?> arg0) { 
    // TODO Auto-generated method stub 

    } 

}); 

Pour obtenir cette valeur dans un autre fichier java, à l'intérieur write fichier java ci-dessous code où jamais vous avez besoin ..

 prefs = getSharedPreferences(prefName, MODE_PRIVATE); 
     int pos=prefs.getInt("index", (Integer) null); 
     String value=prefs.getString("value", ""); 
0

Essayez ce code: adaptateur à l'ensemble spinnerName comme:

spinnerName=(Spinner)findViewById(R.id.spinnerName); 
    String []data={"item1","item2","item3","item4","item5"}; 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, data); 
    spinnerName.setAdapter(adapter); 

maintenant mis setOnItemSelectedListener-spinnerName.

spinnerName.setOnItemSelectedListener(new OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
      // TODO Auto-generated method stub 
      Toast.makeText(getApplicationContext(), spinnerName.getSelectedItem().toString(), Toast.LENGTH_LONG).show(); 


      Intent intent=new Intent(FirstActivity.this,SecondActivity.class); 
      // pass value of selected spinnerItem to other Activity. 
      intent.putExtra("spinnerItem", spinnerName.getSelectedItem().toString()); 

      startActivity(intent); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 
    }); 
0

Désolé, je l'ai posté mal. Veuillez essayer ceci.

String []data={"item1","item2","item3","item4","item5"}; 

spinner.setAdapter(adaptador); 
spinner.setOnItemSelectedListener(
    new AdapterView.OnItemSelectedListener() { 
     public void onItemSelected(AdapterView<?> parent, 
      android.view.View v, int position, long id) { 
       mData.setText("Selected: " + data[position]); 
     } 

     public void onNothingSelected(AdapterView<?> parent) { 
      mData.setText(""); 
     } 
}); 
-1
final Equipamento[] eqptos = eqptoDao.list(); 

    List<String> labels = new ArrayList<String>(); 
    for(Equipamento eqpto : eqptos) 
    { 
     labels.add(eqpto.getDescricao()); 
    } 

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_item,labels); 

    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    spinner.setAdapter(dataAdapter); 

    //to get value of spinner 

    eqptos[Integer.parseInt("" + spinner.getSelectedItemId())].getEquipamento()