ХРАНЕНИЕ ДЛЯ ИСТОРИЧЕСКОГО. ПРОПУСТИТЬ ДЛЯ ИЗМЕНЕНИЯ.Проблема с добавлением 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. Должен ли я создавать новый макет для этого счетчика?
Проверьте эти ссылки 1. http://stackoverflow.com/questions/4923310/android-spinner-onitemselected-setonitemselectedlistener-not-triggering 2. http://stackoverflow.com/questions/16581536/setonitemselectedlistener-of-spinner - не-призыв, чтобы получить представление о внедрении прядильщиков. – Techidiot
Спасибо. Я смотрю на них и все еще беспокоюсь, но я замечаю, что, возможно, я не хочу этого делать. Я хочу, чтобы другие поля Edit Text и Spinner появлялись в зависимости от выбранной мной опции. Я теряю время, пытаясь заставить это работать, когда я должен сосредоточиться на другом методе? – user3654055
Попытка сделать то, что не сделано, не пустая трата времени. Продолжайте исследовать, но убедитесь, что вы не выполняете свою работу во время этого. – Techidiot