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