使用带有Backendless的onListItemClick

时间:2016-08-26 15:26:41

标签: android listview hashmap backendless

在我的应用程序中,可以检索保存在服务器上的书籍列表。我在Listview中显示书籍,现在我尝试向我的应用程序的用户详细介绍所选的(通过onListItemClick)书籍,其名称,发布,作者,......但在这种情况下,我不知道如何将所选书籍及其数据传输到我的BookDetailActivity。我无法在onListItemClick ...

中处理Map BackendlessCollection

这是我的BookAdapter:

//inside the onCreate
adapter = new BooksAdapter( BooksListActivity.this, R.layout.list_item_books, totalBooks );
setListAdapter( adapter );

Backendless.Data.of( Books.class ).find( query, new LoadingCallback<BackendlessCollection<Books>>( this , getString( R.string.loading_books ), true )
    {
        @Override
        public void handleResponse( BackendlessCollection<Books> booksBackendlessCollection )
        {   book_list = booksBackendlessCollection;
            addMoreItems( booksBackendlessCollection );
            super.handleResponse( booksBackendlessCollection );}
    } );
    ListView list = (ListView) findViewById( android.R.id.list );

//outside the onCreate
@Override
protected void onListItemClick(ListView l, View v, int position, long ObjectId) {
    super.onListItemClick(l, v, position, ObjectId);
    Intent i = new Intent(this, BookDetailActivity.class);
    startActivity(i);
}

这是我的BooksListActivity的主要代码:

{{1}}

最后,我将在BookDetailActivity中将所选书籍的详细信息显示为典型的TextViews。

我真的希望你能帮助我! 非常感谢提前!

1 个答案:

答案 0 :(得分:0)

您可以使用Intent extras将数据传递到下一个活动。您需要做的就是使用intent.putExtra()传递数据。

在您的情况下,在您的onListItemClick内,您需要做什么:

Intent i = new Intent(this, BookDetailActivity.class);
Book book = totalBooks.get(i);
i.putExtra("title", book.title);
i.putExtra("content", book.content);
startActivity(i);

最终在BookDetailActivity活动中,您可以通过调用getIntent().getExtras()

来阅读数据

或者,

您可以使用Bundle传递整个Book对象:

Intent i = new Intent(this, BookDetailActivity.class);
Book book = totalBooks.get(i);
Bundle bundle = new Bundle();
bundle.putSerializable("book", book);
i.putExtras(bundle);
startActivity(i);