我想显示juice object的列表。但是这里只获得一个对象并且只显示一个对象

时间:2015-11-03 07:30:51

标签: android android-layout android-activity

我想显示juice object的列表。但是这里只有一个对象,只显示一个object.getcount()正在调用5次。但它没有显示。请帮助我。 我想显示juice object的列表。但是这里只得到一个对象,只显示一个object.getcount()正在调用5次。但它没有显示。请帮助我。

         //FoodHome.java
         package com.example.hotelmenucard;

         import android.app.Activity;
         import android.content.Intent;
         import android.os.Bundle;
         import android.view.View;
         import android.widget.AdapterView;
         import android.widget.ArrayAdapter;
         import android.widget.ListView;

         public class FoodHome extends Activity {


          @Override
          protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_food_home);
             populateListView();
             registerClickCallBack();
         }


        private void populateListView() {

            String[] items={"All Day BreakFast","Salads","Sandwiches","Hot Drinks","Juices"};


            ArrayAdapter<String> adapter=new ArrayAdapter<String>(
                    this,                           //Context for the activity
                    R.layout.text_view,             //Layout to use(create)     
                    items);                         //Items to be displayed


            ListView list=(ListView)findViewById(R.id.listView1);
            list.setAdapter(adapter);
        }
        private void registerClickCallBack() {
            ListView list=(ListView)findViewById(R.id.listView1);
            list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                    /*TextView textview=(TextView)view;
                    String msg="hai"+textview.getText();
                    Toast.makeText(FoodHome.this, msg, Toast.LENGTH_LONG).show();*/
                    Intent i = new Intent(FoodHome.this, ItemList.class);
                    startActivity(i);

                }
            });



        }
         }







         //ItemList.java 
          package com.example.hotelmenucard;

           import java.util.ArrayList;
        import java.util.List;

        import android.app.Activity;
        import android.os.Bundle;
        import android.util.Log;
        import android.view.View;
        import android.view.ViewGroup;
        import android.widget.ArrayAdapter;
        import android.widget.ImageView;
        import android.widget.ListView;
        import android.widget.RelativeLayout;
        import android.widget.TextView;

        public class ItemList extends Activity {
        private List<Juice> juices = new ArrayList<Juice>();

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_item_list);
            populateJuiceList();
            populateJuiceListView();
            Log.i(juices.toString(),"list of juice");
        }

        private void populateJuiceList() {
            juices.add(new Juice("Lemon", 15, "lemon*****", R.drawable.lemon));
            juices.add(new Juice("Strawberry", 15, "Strawberry*****",
                    R.drawable.strawberry));
            juices.add(new Juice("Watermelon", 15, "Watermelon*****",
                    R.drawable.watermelon));
            juices.add(new Juice("Pear", 15, "pear*****", R.drawable.pear));
            juices.add(new Juice("Pomegranate", 15, "Pomegranate*****",
                    R.drawable.pomegranate));
            System.out.println(juices+"juices in list");

        }

        private void populateJuiceListView() {
            ArrayAdapter<Juice> adapter = new MyListAdapter(R.layout.activity_item_list);
            ListView list = (ListView) findViewById(R.id.carsListV);
            list.setAdapter(adapter);

        }

        private class MyListAdapter extends ArrayAdapter<Juice> {
            public MyListAdapter(int activityItemList) {
                super(ItemList.this, activityItemList, juices);
            }
            public int getCount() {
                System.out.println(juices.size()+"in getcount");
                return juices.size();
            }

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {

                RelativeLayout itemView =(RelativeLayout) convertView;

                if (itemView == null) {
                    itemView = (RelativeLayout)getLayoutInflater().inflate(R.layout.item_list,
                            parent, false);
                }
                Juice juice = juices.get(position+1);
                ImageView imageView = (ImageView)itemView.findViewById(R.id.imageView1);
                imageView.setImageResource(juice.getId());
                TextView txt=(TextView)itemView.findViewById(R.id.textView1);
                txt.setText(juice.getName());
                TextView text1=(TextView)itemView.findViewById(R.id.textView2);
                text1.setText(juice.getUsing());
                itemView.bringToFront();
                TextView t=(TextView)itemView.findViewById(R.id.textView3);
                t.setText(Integer.toString(juice.getRate()));
                System.out.println(itemView.getVisibility());

                return itemView;

                // return super.getView(position, convertView, parent);
            }

        }

        }





     //activity_item_list.xml
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/bg"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.hotelmenucard.ItemList" >

        <ListView
            android:id="@+id/carsListV"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true" >

        </ListView>

        </RelativeLayout>











        //item_list.xml (typo mistake changed from item_view.xml)
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="@drawable/bg"
        android:gravity="top"
        android:textColor="#B2F8F8"  >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:src="@drawable/lemon" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/imageView1"
            android:layout_centerHorizontal="true"
            android:text="TextView" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/textView2"
            android:layout_alignBottom="@+id/textView2"
            android:layout_alignParentRight="true"
            android:text="TextView" />

        </RelativeLayout>

1 个答案:

答案 0 :(得分:0)

而不是ArrayAdapter<String> adapter=new ArrayAdapter<String>( this,R.layout.text_view,items);

使用它 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, items);