learnasucan Ответов: 1

Тост не показывается в моем втором прядильщике


Я должен сделать два выпадающих списка, чтобы добавить два блесны в коде.когда я выбрал первый тост spinner, он показывает выбранный элемент, но после выбора второго тоста spinner сообщение не отображается .Пожалуйста помочь.
package listdisplay.example.com.spinnertest;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Spinner;
    import android.widget.TextView;
    import android.widget.Toast;
    import java.util.ArrayList;
    import static android.R.attr.country;
    import static android.widget.Toast.makeText;
    
    
    public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
        TextView tv;
        Spinner spinner;
        Spinner spinner2;
        String[] country = {"India","China","Pakistan","America"};
        String[] city = {"Mumbai","Delhi","Noida","Vashi"};
        String[] countrydummy;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tv=(TextView)findViewById(R.id.textView);
            spinner = (Spinner)findViewById(R.id.spinner);
            spinner2=(Spinner)findViewById(R.id.spinner2);
            spinner.setOnItemSelectedListener(this);
    
            ArrayAdapter<String> countryad=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,country);
            spinner.setAdapter(countryad);
            countrydummy=country;
    
            ArrayAdapter<String> cityad=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,city);
            spinner2.setAdapter(cityad);
    
        }
    
    
    
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int i, long id) {  // i for position and l for id
            Spinner spin1= (Spinner)parent;
            Spinner spin2= (Spinner)parent;
    //First spinner selection
            if(spin1.getId() == R.id.spinner)
            {
                String item = parent.getItemAtPosition(i).toString();
                Toast t1=makeText(getApplicationContext(),"item selected : "+item,Toast.LENGTH_SHORT);
                t1.show();
    
    
    
            }
    //second spinner selection
            if(spin2.getId() == R.id.spinner2)
            {
                String item = parent.getItemAtPosition(i).toString();
                Toast t2=makeText(getApplicationContext(),"item selected : "+item,Toast.LENGTH_SHORT);
                t2.setGravity(Gravity.CENTER, 0, 0);
                t2.show();
    
            }
    
    
    
        }
        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {
    
        }
    }


Что я уже пробовал:

я объявил два прядильщика в функции onItemSelected, но тост не отображается во втором прядильщике

learnasucan

эта ошибка возникает при объявлении OnItemSelectedListener для spinner2.
Ошибка: не удалось выполнить задачу": app:compileDebugJavaWithJavac".
> ошибка компиляции; Подробнее см. Вывод ошибки компилятора.

1 Ответов

Рейтинг:
10

Peter Leow

Я заметил, что у вас нет setOnItemSelectedListener для spinner2.


learnasucan

да, вы правы ,я пропустил листнера на второй прядильщик