2016-08-26 4 views
0

과 함께 onListItemClick을 사용하면 서버에 저장된 책 목록을 검색 할 수 있습니다. 나는 Listview에있는 책을 보여주고 이제는 이름, 발행자, 저자와 함께 선택한 (onListItemClick에 의해) 책에 대한 자세한 개요를 내 응용 프로그램 사용자에게 제공하려합니다. 그러나이 경우에는 어떻게 해야할지 모르겠다. 선택한 책과 그 데이터를 내 BookDetailActivity로 전송하십시오. 나는 내 응용 프로그램에서 Backendless

내 BookAdapter입니다 ... onListItemClick의지도 BackendlessCollection를 처리 할 수 ​​없습니다 :

public BooksAdapter(Context context, int resource, List<Books> book_list) 
{ 
    super(context, resource, book_list); 
    mResource = resource; 
    mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent){ 
    View view = convertView == null ? mInflater.inflate(mResource, parent, false) : convertView;  
    TextView booksNameView = (TextView) view.findViewById(R.id.bookName); 
    TextView booksReleaseView = (TextView) view.findViewById(R.id.bookRelease); 
    TextView booksAuthorView = (TextView) view.findViewById(R.id.bookAuthor); 
    Books item = getItem(position); 
    booksNameView.setText(item.getName()); 
    objectIdView.setText(item.getObjectId()); 
    booksReleaseView.setText(item.getRelease()); 
    booksAuthorView.setText(item.getAuthor()); 
    return view; 
} 

이 주 내 BooksListActivity의 코드입니다 : 내가 보여줄 것 마침내

//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); 
} 

내 BookDetailActivity에서 선택한 책의 세부 정보를 일반적인 TextViews로 가져옵니다.

정말 저를 도울 수 있기를 바랍니다. 미리 감사드립니다.

답변

0

Intent 추가 기능을 사용하여 데이터를 다음 활동으로 전달할 수 있습니다. 당신이해야 할 일은 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()

또는를 호출하여 데이터를 읽을 수를

번들을 사용하여 전체 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);