2010-07-21 2 views
4

placeSpinner.getSelectedItem().toString();Получение текста из блесны

поэтому я использую это кодирования линии, чтобы получить текст из моего spinner и передать его в другой файл Java. Но приложение продолжает давать мне силу, когда я это делаю.

Как устранить эту ошибку?

Большое вам спасибо.

+1

Дать StackTrace и больше кода отношение к вашему вопросу. – st0le

+0

что вы хотите сделать? хотите получить выделенный текст элемента из spinner или хотите передать выбранное имя элемента другому файлу java ???? –

ответ

0

Надеюсь, это поможет вам.

Попробуйте этот код ...

Здесь я хранить индекс и значение выбранной блесны в 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 

    } 

}); 

Чтобы получить это значение в другой файл Java, в том ява записи файла ниже кода где когда вам это нужно ..

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

Попробуйте этот код: комплект адаптер к spinnerName как:

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); 

Теперь установите 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

Извините, я разместил его неправильно. Pls попробуйте это.

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() 
Смежные вопросы