0

我试图将数据库中的一些元素放到列表视图中,我的问题是当我开始我的活动时,我得到了这个:

**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);

            }
        });


    }

}
4

1 回答 1

0

如果要显示包含餐厅名称的列表,假设您的 Restaurant 类包含字符串属性“name”,则应首先创建一个包含餐厅名称的数组,然后使用ArrayAdapter <String>

String[] values = new String[restaurantlist.size()];
for(int i=0;i<restaurantlist.size();i++) {
    values[i] = restaurantlist.get(i).getName();
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values);
listview.setAdapter(adapter);
于 2013-07-28T00:28:11.487 回答