Получение текста от счетчика - PullRequest
6 голосов
/ 21 июля 2010

placeSpinner.getSelectedItem().toString();

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

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

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

Ответы [ 6 ]

0 голосов
/ 04 декабря 2018

Это должно работать:

@Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                        int position, long id) { 
    String value = (TextView)view.getText().toString();
    }
0 голосов
/ 31 августа 2018

Используйте это:

final String text = ((YourAdapter) spinner.getAdapter()).getItem(spinner.getSelectedItemPosition());
0 голосов
/ 11 мая 2015
    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()
0 голосов
/ 10 декабря 2014

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

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("");
        }
});
0 голосов
/ 14 сентября 2014

Попробуйте этот код: установите адаптер на 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 голосов
/ 03 августа 2012

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

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

Здесь я сохраняю индекс и значение выбранного счетчика в 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-файле, внутри этого Java-файла напишите ниже код там, где он вам нужен.

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