【发布时间】:2013-07-27 23:30:42
【问题描述】:
我尝试将数据库中的一些元素放到列表视图中, 我的问题是,当我开始我的活动时,我得到了这个:
**com.example.restaurant.Restaurant@2be2d1d0
com.example.restaurant.Restaurant@2be3d3a8**
而不是数据库对象。
public class Liste extends Activity{
private ListView listview;
private Button boutonAjouter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.liste_restaurant);
listview = (ListView)findViewById(R.id.listView1);
Restaurant mcdo = new Restaurant("mcdo","brossard","take-out","fastfood","450-555-5555");
Restaurant burger = new Restaurant("burger","longueuil","take-out","fastfood","450-999-9999");
RestaurantBDD restaurantBDD = new RestaurantBDD(this);
restaurantBDD.openForWrite();
restaurantBDD.insertRestaurant(mcdo);
restaurantBDD.insertRestaurant(burger);
ArrayList <Restaurant> restaurantlist = restaurantBDD.getAllRestaurants();
restaurantBDD.close();
ArrayAdapter <Restaurant> adapter = new ArrayAdapter<Restaurant>(this, android.R.layout.simple_list_item_1, restaurantlist);
listview.setAdapter(adapter);
boutonAjouter = (Button) findViewById(R.id.btn_nouveau);
boutonAjouter.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Liste.this, Formulaire.class);
startActivity(intent);
}
});
}
}
【问题讨论】:
-
你正试图显示
objects(事实上,你是)。您需要的是一个自定义适配器,您可以在其中获取数据并以有意义的方式显示它。或者,您需要为适配器提供一个Arraylist字符串,您将从当前拥有的Restaurant对象中提取该字符串。
标签: android sqlite android-listview