我写了个给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;
}