2016-03-15 3 views
0

Я пытаюсь написать несколько простых приложений для Android. У меня есть Listview, whitch заполняется данными из базы данных (BACKENDLESS). Я хотел бы сделать это: когда я нажимаю на один элемент списка, открывается новая страница и отображаются правильные данные.Android - не найдено подходящего метода putExtra()

это код onListItemClick:

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) 
{ 
    Intent showLocationsIntent = new Intent(this, Detail_page.class); 
    showLocationsIntent.putExtra("restaurants", totalRestaurants.get(position)); 
    startActivity(showLocationsIntent); 
} 

и это новый класс деятельности:

import android.app.ListActivity; 
import android.os.Bundle; 
import android.widget.ImageView; 

public class Detail_page extends ListActivity{ 
private Restaurants restaurant; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.detail_page); 

     restaurant = (Restaurants) getIntent().getSerializableExtra("restaurants"); 

     ImageView image = (ImageView)findViewById(R.id.imageView); 

     new DownloadImage((ImageView) findViewById(R.id.imageView)).execute(restaurant.getPicture()); 

     String title = restaurant.getName(); 
    } 
} 

Но у меня есть проблемы с этой линией showLocationsIntent.putExtra("restaurants", totalRestaurants.get(position));

Ошибка: нет подходящего метода не найдено для putExtra (String, Restaurant)

Restau декламация мой класс

+0

Пожалуйста, разместите здесь свой код класса ресторанов. Сериализован ли он? –

+0

Рестораны - это всего лишь объект (предполагается), вы не можете просто добавить объект к набору намерений. Вы должны убедиться, что объект имеет правильный тип (т.е. Parcelable) – zgc7009

+0

Я пытаюсь воспроизвести этот урок [ссылка] (http://www.androidbegin.com/tutorial/developing-backendless-android-app-retrieving- data-backend-user-interface-ui /), и есть он, как в моем посте. –

ответ

0

Ресторан реализует Serializable (или Parcelable)

+0

Это не совсем ответ, но он в правильном направлении. – zgc7009

0

Поскольку вы передаете объект. Ваш класс ресторанов должен реализовывать интерфейс Parcelable. Read this.

Смежные вопросы