0

ХРАНЕНИЕ ДЛЯ ИСТОРИЧЕСКОГО. ПРОПУСТИТЬ ДЛЯ ИЗМЕНЕНИЯ.Проблема с добавлением Spinner в Android Studio

У меня возникли проблемы с добавлением счетчика в приложение для Android, которое я разрабатываю. Я еще не разработал код, чтобы идти в приложение, но просто для того, чтобы провести некоторое тестирование, мне нужно отправить тост-сообщение, чтобы я знал, что он работает. Согласно этой странице: http://developer.android.com/guide/topics/ui/controls/spinner.html Пользователь может создавать события, вызывая OnItemSelected в другом классе.

public class SpinnerActivity extends EditJobActivity implements AdapterView.OnItemSelectedListener { 
    @Override 
    public void onItemSelected(AdapterView<?> parent, View view, 
           int pos, long id) { 
     // An item was selected. You can retrieve the selected item using 
     // parent.getItemAtPosition(pos) 
     Toast.makeText(SpinnerActivity.this, "It worked", Toast.LENGTH_SHORT).show(); 
    } 
    @Override 
    public void onNothingSelected(AdapterView<?> parent) { 
     // Another interface callback 
    } 
} 

Это его собственный класс. Я называю это с этим:

//Prepare the first (Job Discovery) spinner 
    Spinner mJobDiscovery = (Spinner) findViewById(R.id.SpinJobDiscovered); 
    // Create an ArrayAdapter using the string array and a default spinner layout 
    JobDiscoveryAdapter = ArrayAdapter.createFromResource(this, 
      R.array.spin_JobDiscoveryHome, android.R.layout.simple_spinner_item); 
    // Specify the layout to use when the list of choices appears 
    JobDiscoveryAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    // Apply the adapter to the spinner 
    mJobDiscovery.setAdapter(JobDiscoveryAdapter); 
    mJobDiscovery.setOnItemSelectedListener(this); 

Однако, я получаю эту ошибку: SetOnItemSelectedListener (андроид ...) в AdapterView не может быть применен к (ком ... деятельности)

Он просит меня бросить его (AdapterView.OnItemSelectedListener), но когда я делаю, я получаю ошибки, потому что я не могу передать действие OnItemSelectedListener. Что мне здесь не хватает? Я немного новичок в Android программирования, так что я извиняюсь, если это простой ответ ...

EDIT:

После разговора с Bhush_techidiot, он послал меня к некоторым ресурсам, которые помогли, но я У меня проблемы с окончанием моей реализации. Теперь мой SpinnerActivity временно выглядит следующим образом:

public class SpinnerActivity extends EditJobActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_edit_job); 

     /*for fill your Spinner*/ 
    List<String> SpinnerArray = new ArrayList<String>(); 
    SpinnerArray.add("Item 1"); 
    SpinnerArray.add("Item 2"); 
    SpinnerArray.add("Item 3"); 
    SpinnerArray.add("Item 4"); 
    SpinnerArray.add("Item 5"); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_spinner_item, SpinnerArray); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    Spinner spinner = (Spinner) findViewById(R.id.SpinJobDiscovered); 
    spinner.setAdapter(adapter); 

    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> arg0, View arg1, 
            int arg2, long arg3) { 
      // TODO Auto-generated method stub 
      Object item = arg0.getItemAtPosition(arg2); 
      if (item != null) { 
       Toast.makeText(EditJobActivity.this, item.toString(), 
         Toast.LENGTH_SHORT).show(); 
      } 
      Toast.makeText(EditJobActivity.this, "Selected", 
        Toast.LENGTH_SHORT).show(); 

     } 

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

     } 
    }); 
} 
} 

, но я не знаю, как назвать SpinnerActivity от моего EditJobActivity, поэтому я получаю сообщение об ошибке: «... это не вшита класс» на EditJobActivity. Должен ли я создавать новый макет для этого счетчика?

+0

Проверьте эти ссылки 1. http://stackoverflow.com/questions/4923310/android-spinner-onitemselected-setonitemselectedlistener-not-triggering 2. http://stackoverflow.com/questions/16581536/setonitemselectedlistener-of-spinner - не-призыв, чтобы получить представление о внедрении прядильщиков. – Techidiot

+0

Спасибо. Я смотрю на них и все еще беспокоюсь, но я замечаю, что, возможно, я не хочу этого делать. Я хочу, чтобы другие поля Edit Text и Spinner появлялись в зависимости от выбранной мной опции. Я теряю время, пытаясь заставить это работать, когда я должен сосредоточиться на другом методе? – user3654055

+0

Попытка сделать то, что не сделано, не пустая трата времени. Продолжайте исследовать, но убедитесь, что вы не выполняете свою работу во время этого. – Techidiot

ответ

1

Проверьте следующие ссылки. Удостоверьтесь, что ваши решения так же просты, как вы можете также без колебаний попробовать сложные вещи, как только вы получите простой рабочий. Понимайте расширяющиеся и реализующие классы, и вам хорошо идти!

  1. Android Spinner - onItemSelected/setOnItemSelectedListener not triggering
  2. setOnItemSelectedListener of Spinner does not call
  3. How to get the value of a selected item in a spinner?

Все самое лучшее!

Смежные вопросы