Я создаю образец приложения, содержащий Activity
[с ListView
и Button
] в файле макета. ListView
- это обычай, содержащий [Ярлык/Имя и CheckBox]. Я хочу написать код, который изменит текст Button
из класса адаптера ListView
на основе элемента списка CheckBox
[T/F].Как обновить пользовательский интерфейс активности на основе выбора элемента ListView?
0
A
ответ
0
listView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
// When clicked, show a toast with the TextView text
AppListOfAllApps Selecteditems = (AppListOfAllApps) parent.getItemAtPosition(position);
if (view != null)
{
CheckBox checkBox = (CheckBox) view.findViewById(R.id.checkBox1);
Selecteditems = (AppListOfAllApps) checkBox.getTag();
//here you will get the selected item you may also get the text from it accordingly and then using using button variable just set text
button.settext("whatever");
}
}
});
0
В деятельности:
public class Your_Activity extends Activity implements OnCheckListener// Implement your listener here
@Override
public void OnCheck(int position) {
// TODO Auto-generated method stub
// notify your activity component here
}
В классе адаптера:
private OnCheckListener listener;
public interface OnCheckListener {
public void OnCheck(int position);
}
public Your_adapter_constructor(OnCheckListener listener) {
// TODO Auto-generated constructor stub
this.listener = listener;
}
// On your getView()
checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
listener.OnCheck(position);// If you want to pass some value add it here
}
});
+0
Пробовал ваш код. Не работает. Он не просто входит в метод слушателя Activity. – VVB
Смежные вопросы
- 1. Обновить пользовательский интерфейс из темы
- 2. Как обновить графический интерфейс на основе состояния
- 3. Как обновить (обновить) виджет ListView от активности?
- 4. Обновление элемента ListView из другой активности
- 5. Как обновить пользовательский интерфейс плавно?
- 6. Как обновить ListView при щелчке элемента на ListView
- 7. ObservableCollection не обновить пользовательский интерфейс
- 8. Как обновить пользовательский интерфейс с помощью привязок
- 9. Обновление элемента ListView на основе выбора Spinner в android
- 10. ListView испортил пользовательский интерфейс DataTemplates
- 11. Как обновить входы на основе модального выбора
- 12. Кендо пользовательский интерфейс на нескольких вложенных ListView
- 13. Как обновить ListView 2 на основе элемента, нажатого на ListView 1
- 14. Обновить пользовательский интерфейс в gwt
- 15. Расширить пользовательский интерфейс выбора (угловой)
- 16. DataContext - ListView - обновить интерфейс - INotifyPropertyChanged
- 17. Лучший способ обновить пользовательский интерфейс?
- 18. Обновить пользовательский интерфейс из-за изменения модели
- 19. Обновить пользовательский интерфейс из ViewModel
- 20. Как обновить пользовательский интерфейс в соответствии с результатами фильтра ICollectionView?
- 21. Попытка обновить пользовательский интерфейс WPF
- 22. Обновить пользовательский интерфейс из кода
- 23. Как обновить gridview на основе элемента dropdownlist
- 24. Обновить пользовательский интерфейс от AsyncCallback
- 25. Обновить пользовательский интерфейс из потока
- 26. Как обновить пользовательский интерфейс для андроида appwidget
- 27. Как обновить пользовательский интерфейс Silverlight при обработке
- 28. Как обновить пользовательский интерфейс из потока
- 29. IOS. Как обновить интерфейс элемента при прокрутке элемента?
- 30. Как сделать пользовательский интерфейс выбора экранаViewViewer Controller?
@SathishKumarJ Как приходят класс ADAPTER справитесь хотя выше метод помогает обновить пользовательский интерфейс. Поскольку экземпляр Button находится в классе Activity, который мне нужно обрабатывать из класса адаптера. Пожалуйста, внимательно прочитайте вопрос. – VVB
Я думаю, вы можете использовать интерфейсы. На основе onCheck checkBox callBack вы можете изменить текст. – Raghavendra
@ Raghavendra Пожалуйста, внимательно прочитайте вопрос и над комментарием. – VVB