在网格视图中选择单元格的任何方法

时间:2019-05-09 10:19:41

标签: android gridview adapter

我正在尝试制定时间表。我的layoutgridview

我的layout现在是这样的:https://user-images.githubusercontent.com/37032956/57445643-c2765180-728d-11e9-9f1a-52e2d93f7e9e.JPG

我可以获取数据并画一条线。 但是我不知道如何在特定位置定位这些单元格。

我想使用日期,开始时间和结束时间将这4种彩色文本放置在确切的位置。

这是我的代码。

 public class GridviewAdapter extends BaseAdapter {

    private ArrayList<GridViewItem> listData;
    LayoutInflater layoutInflater;

    public GridviewAdapter (Context context, ArrayList<GridViewItem> listData){
        this.listData = listData;
        layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    }

    @Override
    public int getCount() {
        return listData.size();
    }

    @Override
    public Object getItem(int position) {
        return listData.get(position); // 수정
    }

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

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

        if(convertView == null){
            convertView = layoutInflater.inflate(R.layout.gridview_item, (ViewGroup) convertView, false);
            gridViewHolder = new GridViewHolder();
            gridViewHolder.subjectTitle=(TextView) convertView.findViewById(R.id.item_title);
            convertView.setTag(gridViewHolder);

        } else {

            gridViewHolder = (GridViewHolder) convertView.getTag();
        }

        gridViewHolder.subjectTitle.setText(listData.get(position).getSub_title());

        return convertView;
    }

    static class GridViewHolder{
        TextView subjectTitle;
        // day, start_time, end_time;
    }
   }

这是我的网格视图适配器。

1 个答案:

答案 0 :(得分:0)

您可以使用与项目位置相对应的OnItemClickListener。

gridView.setOnItemClickListener(new OnItemClickListener()
{
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3)
    {
        //Selected item is at index "position".
    }
});