yangguangdexiaos 2015-01-24 04:42 采纳率: 0%
浏览 5323

android下GridView如何实现标题的点击事件

我写了个给GridView填充数据的程序,每个单元格的内容为课程图片+标题;但是有的标题太长了,而且只允许显示一行;现在要求图片和标题响应不同的点击事件:点击图片跳转到AActivity,点击标题则全屏显示标题的内容;我想问下大神们怎么实现GridView标题的点击事件!图片点击事件程序如下:
mGridView = (GridView)findViewById(R.id.learn_gridview);

            mAdapter = new ImageAdapter(this, mGridView, mLearnList);  

            mGridView.setAdapter(mAdapter);  
            mGridView.setOnItemClickListener(new OnItemClickListener() {

                    @Override
                    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                    long arg3) {
                            String mCourseId = mLearnList.get(arg2).getId();
                            CourseManager.getInstance().setCourseid(mCourseId);
                            Intent intent = new Intent();
                            intent.setClass(MycourseActivity.this, AActivity.class);;
                            startActivity(intent);                                
                    }
            });
    }

那个ImageAdapter是自定义的适配器;有人建议我在适配器程序中写标题点击事件,但我是想点击标题后跳转到另一个Activity,自定义的adapter是个类,我在里面试过写标题的点击事件,但是只能对标题的样式进行设置,如更改行数等,如果在类里面写点击事件跳转到另一个Activity,好像做不到;要是能这样写就好了,这个adapter部分内容是这样的:
@Override

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

final String url = mList.get(position).getIconUrl();

View view;

if (convertView == null) {

view = mInflater.inflate(R.layout.grid_item, null);

} else {

view = convertView;

}

    final ImageView photo = (ImageView) view.findViewById(R.id.img);  
     title  = (TextView) view.findViewById(R.id.title);
    title.setText(mList.get(position).getTitle());
    // 给ImageView设置一个Tag,保证异步加载图片时不会乱序  
    photo.setTag(url);  
    setImageView(url, photo);  
   /* title.setOnClickListener(new OnClickListener(){

                    public void onClick(View v){                      

                   if(clicktimes == 0)
                    {
                            title.setMaxLines(3);
                            clicktimes ++ ;

                    }
                    else
                            if(clicktimes == 1)
                            {
                                    title.setMaxLines(1);
                                clicktimes = 0; ;
                            }



                    }

    });*/

    title.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {


                    }
                    });


    try{

              Field field=R.drawable.class.getField(mList.get(position).getTitle());

              int i= field.getInt(new R.drawable());

              Log.i("ImageAdapter","***************ImageAdapter.i***************"+i);

            //  return i;

            }catch(Exception e){

              Log.i("ImageAdapter",e.toString());

            //  return R.drawable.a1;

            } 
    return view;  
}  
  • 写回答

2条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2015-01-24 04:52
    关注

    在适配器中可以写对布局中某个对象的单击,这样方便

    评论

报告相同问题?

悬赏问题

  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗