Вызвать / изменить текущую активность по нажатию кнопки - PullRequest
0 голосов
/ 22 сентября 2011

У меня есть активность "MyListActivity".У меня есть адаптер, связанный с ним "MyGridAdapter".Он содержит сетку кнопок (скажем, 3).Каждая кнопка имеет «OnClickListner ()».При нажатии на 1-ую кнопку я должен был бы предпринять то же действие.Поэтому вместо создания подобного другого действия я решаю повторно использовать эту же страницу.Значение: мне нужно вызвать «MyListActivity», но с некоторыми измененными параметрами - увеличенным количеством кнопок и т. Д. Я пытался использовать «invalidate()» при нажатии кнопки.Но он перезагружает ту же страницу без каких-либо изменений.

Как вызвать ту же операцию из функции в адаптере?

Моя работа для решения проблемы: я создал другую "tempActivity».в одной из функций я пытаюсь начать предыдущее действие.код внутри "MyGridAdapter":

TempActivity temp=new TempActivity();
temp.setIntentObj(<parameters>);

внутри "TempActivity":

Intent intent=new Intent(this,ListActivity.class);        //this gives a "NullPointerException"
startActivity(intent);

Ответы [ 2 ]

1 голос
/ 23 сентября 2011

В классе адаптеров мы можем запустить действие с помощью context.startActivity(intent) Я не знал, что мы можем получить доступ к «запуску Действия» из адаптера ... но теперь он работает просто отлично !!Большое спасибо за вашу рекомендацию ...

0 голосов
/ 22 сентября 2011

Если я вас правильно понимаю; Вы должны обновить список, который передается адаптеру, а затем вызывать adapter.notifyDataSetChanged (). (имя метода может немного отличаться, я набираю текст на своем мобильном и не могу его найти).

Список, который вы обновляете, должен быть тем же списком, который был предоставлен адаптером, так что вам придется хранить ссылку на него как на свойство вашего класса.

...