Android 如何在gridview中动态添加项?

Android 如何在gridview中动态添加项?,android,gridview,Android,Gridview,图中显示了我需要如何在gridview中组织我的项目。首先,我尝试通过代码创建一个Linearlayout并添加我的项目来组织它,但它不起作用,因为它可以按列而不是按行进行 我尝试使用tableview,但也不起作用,然后我开始查看Stackoverflow,找到了gridview,但看起来我无法按cod添加新项目。我必须添加第一个项目按钮“添加类别”,当我点击它时,我必须从这个按钮添加新项目,按钮需要移动位置。我尝试过在gridview中包装内容,但效果不太好 这是我的gridview包ada

图中显示了我需要如何在gridview中组织我的项目。首先,我尝试通过代码创建一个Linearlayout并添加我的项目来组织它,但它不起作用,因为它可以按列而不是按行进行

我尝试使用tableview,但也不起作用,然后我开始查看Stackoverflow,找到了gridview,但看起来我无法按cod添加新项目。我必须添加第一个项目按钮“添加类别”,当我点击它时,我必须从这个按钮添加新项目,按钮需要移动位置。我尝试过在gridview中包装内容,但效果不太好

这是我的gridview包adapter的适配器

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.media.Image;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;



import java.net.Inet4Address;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;



public class ImageAdapter extends BaseAdapter {

    // Contexto de la aplicación
    private Context mContext;


    // Array de identificadores

    String nombre = "";



    public  Integer[] mThumbIds;

    public ImageAdapter(Context c, Integer[] cosa,String nom) {
        mThumbIds = cosa;
        mContext = c;
        nombre = nom;
    }

    public int getCount() {
        return mThumbIds.length;
    }

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

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

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




        final LinearLayout linear = new LinearLayout(mContext);
        linear.setLayoutParams(new LinearLayout.LayoutParams(GridView.LayoutParams.MATCH_PARENT,GridView.LayoutParams.WRAP_CONTENT));


        if (convertView == null) {


                    LayoutInflater inflater = (LayoutInflater) mContext
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(R.layout.item_grid, parent, false);


            TextView edittitulo = (TextView) convertView.findViewWithTag("titulocategoria");
            Button btncate = (Button) convertView.findViewById(R.id.categoria1);
            edittitulo.setId(position);
            edittitulo.setText(nombre);
            btncate.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {


                }
            });






        }


        return convertView;
    }


}

我不知道为什么,当我设置为Setonic时,我的监听器从不工作

将onClickListener从if条件中移除。您应该将
RecylerView
GridLayoutManager
@sohailehmad一起使用。您能回答这个问题吗?我想给你点建议。把onClickListener从if条件中去掉。你应该使用
RecylerView
GridLayoutManager
@sohailehmad你能回答这个问题吗?我想告诉你几点。