繁体   English   中英

自定义列表适配器仅返回11个项目

[英]Custom List Adapter return only 11 items

我有ListView显示目录中的所有图像。 我为此有一个自定义适配器,它显示所有列表项,但是图像视图是错误的-前11张图像显示正确,其他图像将像前11张图像一样显示。 据我了解,问题出在适配器的data [position]中,因为数据数组正确,而getView中的data [position]仅显示11个项目。

这是我的onCreate:

    public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.list);

                String path = Environment.getExternalStorageDirectory().toString()+"/MANUAL/workflow";
                Log.d("Files", "Path: " + path);
                File f = new File(path);
                File file[] = f.listFiles();
                Log.d("Files", "Size: "+ file.length);

                for (int i=0; i < file.length; i++) {
                        array.add(file[i].getName());
                }

                    Log.d("Files", "###############################################");
                    Log.d("Files", "###############################################");
                    Log.d("Files", "###############################################");
                    Log.d("Files", "ARRAY ARRAY: "+ array);
                    Log.d("Files", "###############################################");
                    Log.d("Files", "###############################################");
                    Log.d("Files", "###############################################");

                    String[] place = array.toArray(new String[array.size()]);
                    Arrays.sort(place);
                    actions.Settings("sequence.txt", place);

                    listview = (ListView) findViewById(R.id.listview);
                    listview.setAdapter(new yourAdapter(this, place));
                    getIntent().setAction("Already created");

                    DisplayMetrics dm = new DisplayMetrics();
                    getWindowManager().getDefaultDisplay().getMetrics(dm);
                    width = dm.widthPixels;
                    height = dm.heightPixels;

                    Log.d("Files", "###############################################");
                    Log.d("Files", "###############################################");
                    Log.d("Files", "###############################################");
                    for (int i=0; i<place.length; i++){
                        Log.d("Files", "ARRAY PLACE: "+ place[i]);
                    }
                    Log.d("Files", "###############################################");
                    Log.d("Files", "###############################################");
                    Log.d("Files", "###############################################");

                }

和我的自定义适配器:

class yourAdapter extends BaseAdapter {

    public Matrix matrix() {
            Matrix matrix = new Matrix();
            matrix.postScale(1f, 1f);
            return matrix;
        }


        //ADAPTER
        Context context;
        String[] data;
        private static LayoutInflater inflater = null;

        public yourAdapter(Context context, String[] data) {
            // TODO Auto-generated constructor stub
            this.context = context;
            this.data = data;
            inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            Log.d("Files", "###############################################");
            Log.d("Files", "###############################################");
            Log.d("Files", "###############################################");
            for (int i=0; i<data.length; i++){
                Log.d("Files", "ARRAY DATA: "+ data[i]);
            }
            Log.d("Files", "###############################################");
            Log.d("Files", "###############################################");
            Log.d("Files", "###############################################");
        }

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return data.length;
        }

        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return data[position];
        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }

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

            // TODO Auto-generated method stub
            View vi = convertView;
            //if (vi == null) {
                vi = inflater.inflate(R.layout.row, null);
                TextView text = (TextView) vi.findViewById(R.id.text);
                text.setText(data[position]);


                Log.d("Files", "###############################################");
                Log.d("Files", "ARRAY DATA POSITION: "+ data[position]);
                Log.d("Files", "###############################################");


                Button btnDraw = (Button) vi.findViewById(R.id.buttonDraw);
                btnDraw.setText("draw");
                btnDraw.setContentDescription(data[position]);

                Button btnEdit = (Button) vi.findViewById(R.id.buttonEdit);
                btnEdit.setText("edit");
                btnEdit.setContentDescription(data[position]);  

                Button btnDel = (Button) vi.findViewById(R.id.buttonDel);
                btnDel.setText("delete");
                btnDel.setContentDescription(data[position]);   

                //Log.d("Files", "DATA: " + data[position]);
                try{
                    ImageView mImg = (ImageView) vi.findViewById(R.id.imageView);
                    BitmapTask btmt = new BitmapTask();
                    btmt.setImageView(mImg);
                    btmt.execute(data[position]);
                    //mImg.setImageBitmap(btmt.get());
                } catch (Exception e){
                    e.printStackTrace();
                }

            //}
            return vi;
        }

在我的日志中,我有这个:

07-16 17:03:29.956  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:03:29.956  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:03:29.956  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:03:29.956  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY ARRAY: [img1405508897.png, img1405508900.png, img1405508904.png, img1405508908.png, img1405508911.png, img1405508912.png, img1405508914.png, img1405508916.png, img1405508918.png, img1405508942.png, img1405508958.png, img1405508961.png, img1405508963.png, img1405508972.png, img1405508977.png, img1405508981.png, img1405508986.png, img1405509047.png, img1405509084.png, img1405509096.png, img1405509099.png, img1405509103.png, img1405509108.png, img1405509113.png, img1405509122.png, img1405509128.png, img1405509152.png, img1405509156.png, img1405509168.png, img1405509203.png]
07-16 17:03:29.956  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:03:29.956  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:03:29.956  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################

和其他日志中的相同数据,但是在“数据位置”中,我只有11个项目:

07-16 17:05:31.612  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.612  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508897.png
07-16 17:05:31.612  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.617  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.617  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508900.png
07-16 17:05:31.617  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.627  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.627  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508904.png
07-16 17:05:31.627  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.642    3056-3333/? D/lights﹕ button : 0 -
07-16 17:05:31.647  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.647  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508908.png
07-16 17:05:31.647  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.652  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.652  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508911.png
07-16 17:05:31.652  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.667  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.667  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508912.png
07-16 17:05:31.667  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.672  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.672  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508914.png
07-16 17:05:31.672  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.677  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.677  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508916.png
07-16 17:05:31.677  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.682  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.682  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508918.png
07-16 17:05:31.682  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.692  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.692  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508942.png
07-16 17:05:31.692  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.697  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################
07-16 17:05:31.697  26363-26363/com.mycompany.overtest D/Files﹕ ARRAY DATA: img1405508958.png
07-16 17:05:31.697  26363-26363/com.mycompany.overtest D/Files﹕ ###############################################

有人可以建议吗?

采用-

 String[] place = array.toArray();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM