带网格标题的Android网格视图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带网格标题的Android网格视图相关的知识,希望对你有一定的参考价值。
我计划在同一个网格视图中使用两种不同的列表。基本上,例如,说出汽车列表和自行车列表。
我想在同一个网格视图中显示它们。
我还想在汽车列表之前甚至在自行车列表之前显示标题。我想要一些如下所示的东西。
我知道Web上存在许多此类帖子以及StackOverflow,但它们都没有回答我的问题。然后有一些指向粘性标题库,其中一些建议将元素转换为标题,这将再次需要复杂的位置管理,这是我无法做到的。
任何建议或帮助将不胜感激。
答案
研究This也This is a another one第一个是库,第二个是github中的项目
我认为This is a another one在你的形象中是相似的
另一答案
您需要创建一个具有自定义侦听器接口的自定义适配器类,并且您可以检测按钮是否已通过此侦听器单击。
public class YourAdapter extends BaseAdapter {
private YourCustomListener listener;
private List<Object> yourObjects;
private Context mContext;
public YourAdapter(final Context context, final YourCustomListener listener, final List<Object> yourObjects) {
this.listener = listener;
this.yourObjects = yourObjects;
mContext = context;
}
@Override
public int getCount() {
return yourObjects.size();
}
@Override
public Object getItem(final int position) {
return yourObjects.get(position);
}
@Override
public long getItemId(final int position) {
return position;
}
@Override
public View getView(final int position, final View convertView, final ViewGroup parent) {
Button button;
View view;
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(mContext);
view = inflater.inflate(R.layout.yourLayout, parent, false);
} else {
view = convertView;
}
final Object obj = getItem(position);
button = view.findViewById(R.id.yourbuttonid);
if (listener != null) {
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(final View v) {
listener.onButtonOnItemClicked(obj);
}
});
}
return view;
}
public void setListener(YourCustomListener listener) {
this.listener = listener;
}
public interface YourCustomListener {
void onButtonOnItemClicked(Object obj);
}
}
以上是关于带网格标题的Android网格视图的主要内容,如果未能解决你的问题,请参考以下文章