我正在尝试为android编写一些简单的应用程序。我有Listview,由数据库(BACKENDLESS)的数据填充。我想这样做:当我点击一个列表项时,会打开新页面并显示正确的数据。
这是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)找到合适的方法
餐厅是我的班级
答案 0 :(得分:0)
餐厅实现Serializable(或Parcelable)
答案 1 :(得分:0)
因为你传递了一个对象。您的Restaurants类应该实现Parcelable接口。 Read this
答案 2 :(得分:0)
对我来说,解决方案是添加:
implements Serializable
传递给意图的对象类。
使用您的代码,看来您是错误地使用了意图。