Любой способ выделить ячейку в виде сетки - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь подать заявку на расписание. мой layout равен gridview.

My layout теперь выглядит так: https://user -images.githubusercontent.com / 37032956/57445643-c2765180-728d-11e9-9f1a-52e2d93f7e9e.JPG

Я могу получить данные и нарисовать линию. Но я не знаю, как найти эти клетки в определенном месте.

Я хочу разместить этот четырехцветный текст в точном месте, используя день, время начала и время окончания.

Это мой код.

 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 голосов
/ 09 мая 2019

Вы можете использовать OnItemClickListener, который соответствует позиции элемента.

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