Как добавить кнопку в последний элемент gridview?

Привет, я новичок в android и работаю с gridview в android, я могу получить изображения из папки, но я не могу добавить кнопку "ДОБАВИТЬ БОЛЬШЕ" в последний из моих элементов gridview. Скажите, пожалуйста, как я могу добавить элемент в последний из gridview?

Вот пример того, что я пытаюсь получить

Кнопка Item1

Item1 Item2 Item3 Item4 Кнопка

Файл Java

public class GridExample extends AppCompatActivity {
    ArrayList<String> f = new ArrayList<String>();// list of file paths
    private ImageAdapter imageAdapter;
    public void onCreate(Bundle SavedInstanceState){
        super.onCreate(SavedInstanceState);
        setContentView(R.layout.grid_xample);


        GridView imagegrid = (GridView) findViewById(R.id.PhoneImageGrid);
        imageAdapter = new ImageAdapter();
        imagegrid.setAdapter(imageAdapter);
        f.add("/storage/emulated/0/Fresh Camera/IMG_20180409_173113.jpg");
        f.add("/storage/emulated/0/Fresh Camera/IMG_20180410_070629.jpg");
        f.add("/storage/emulated/0/Fresh Camera/IMG_20180410_071117.jpg");
        f.add("/storage/emulated/0/Fresh Camera/IMG_20180410_071411.jpg");
        f.add("/storage/emulated/0/Fresh Camera/IMG_20180410_072104.jpg");

        imagegrid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
           public void onItemClick(AdapterView<?> parent,
                                   View v, int position, long id){

               if(position==imageAdapter.getCount()-1){
                   Toast.makeText(GridExample.this, "Done", Toast.LENGTH_SHORT).show();
               }

               Toast.makeText(GridExample.this, ""+position, Toast.LENGTH_SHORT).show();
           }
       });
    }


    public class ImageAdapter extends BaseAdapter {
        private LayoutInflater mInflater;

        public ImageAdapter() {
            mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        }

        public int getCount() {
            return f.size();
        }

        public Object getItem(int position) {
            return position;
        }

        public long getItemId(int position) {
            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder;
            if (convertView == null) {
                holder = new ViewHolder();
                convertView = mInflater.inflate(R.layout.grid_item_layout, null);
                holder.imageview = (ImageView) convertView.findViewById(R.id.thumbImage);
                holder.linearLayout = (LinearLayout) convertView.findViewById(R.id.linearLayout);
                holder.b1 = (Button)convertView.findViewById(R.id.button1);
                holder.b1.setVisibility(View.GONE);
                convertView.setTag(holder);
            }
            else {
                holder = (ViewHolder) convertView.getTag();
            }

            Bitmap myBitmap = BitmapFactory.decodeFile(f.get(position));
            int height = (myBitmap.getHeight() * 512 / myBitmap.getWidth());
            Bitmap scale = Bitmap.createScaledBitmap(myBitmap, 512,height, true);

            holder.imageview.setImageBitmap(scale);
            if (f.size() - 1 == position) {
                holder.b1.setVisibility(View.VISIBLE);
            }
            return convertView;
        }
    }
    class ViewHolder {
        ImageView imageview;
        Button b1;
        LinearLayout linearLayout;
    }

}

grid_xample

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroll_home"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
<RelativeLayout
    android:layout_width="fill_parent" android:layout_height="wrap_content">

    <GridView
        android:id="@+id/PhoneImageGrid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:columnWidth="90dp"
        android:gravity="center"
        android:horizontalSpacing="10dp"
        android:numColumns="2"
        android:stretchMode="columnWidth"
        android:verticalSpacing="10dp" />


</RelativeLayout>
    </ScrollView>

grid_item_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="horizontal"
    android:id="@+id/linearLayout"
    android:layout_height="fill_parent">
    <ImageView android:id="@+id/thumbImage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/button1"
        android:text="Add More"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

0 ответов

Другие вопросы по тегам