在我的应用程序中,可以检索保存在服务器上的书籍列表。我在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。
我真的希望你能帮助我! 非常感谢提前!
答案 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);