ListView открывает активность после щелчка, заполняет новую открытую активность данными, КАК? - PullRequest
0 голосов
/ 05 января 2012

Хорошо, поэтому пока я заставил мое приложение отображать действие и может ссылаться на различные действия на основе кликов.Теперь мой вопрос: как заполнить открытую активность данными, соответствующими данным в элементе списка?

Легко сказано,

ListView (for ex. 10 items)

On click, opens ContentViewer activity

void ContentViewer::onCreate() {
     setContentView contentviewer(xml);
}
(contentviewer has different textviews and imageviews with diff IDs.)

Теперь, когда Contentviewerоткрывается щелчком по случаю 0 (первый элемент в списке), затем по данным 0, изображению 0 и т. д.

Есть идеи?

1 Ответ

1 голос
/ 05 января 2012

В сущности, вы ищете способ передачи параметров для вашего второго действия с первого? Вот как это сделать:

Activity1.java:

    Intent intent = new Intent(this, Activity2.class);
    intent.putExtra(ReportActivity.REPORT_TYPE, reportId);
    startActivity(intent);

Activity2.java:

protected void onCreate(Bundle savedInstanceState) {
    Intent intent = getIntent();
    if (intent != null) {
        Bundle bundle = intent.getExtras();
        if (bundle != null) {
            int reportId = bundle.getInt(REPORT_TYPE);
        }
    }

Идея состоит в том, чтобы поместить пары имя / значение в ваше Intent из вызывающего действия, а в вызываемом действии вы читаете пары имя / значение из вызывающего намерения. В приведенном выше примере я передаю int(reportID) в вызывающую деятельность. Вы можете передать ему любой другой примитивный тип. Если вы хотите передать пользовательские объекты, вам нужно реализовать Parcelable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...