我有一个网格视图,其中包含不同视图的项目,其中一个 ImageButton 可能存在也可能不存在(视情况而定)。我为网格内的每个项目实现了 onItemClick,但是当信息按钮存在(并按下)时,我还需要显示一个 toast。一切正常,除了包含信息按钮的项目将不再响应 onItemClick 之外,它们只响应被按下的信息图标。我怎样才能让这些项目相应地响应点击信息按钮和其他区域?
这是 onItemClick() 的代码:
@Override
public void onItemClick(AdapterView<?> av, View v, int arg2, long arg3) {
getDayStatus((Date) _monthVectorList.get(0).get(arg2));
_listenerDateSelect.onDispatchDateSelect((Date) _monthVectorList.get(0).get(arg2));
}
这是 Info 的 imageButton:
<ImageButton
android:layout_width="15dp"
android:layout_height="15dp"
android:id="@+id/tv_day_info"
android:layout_gravity="center"
android:gravity="right|center"
android:layout_marginLeft="1dp"
android:onClick="infoToast"
android:focusable="false"
/>
另外,这里是信息吐司的代码:
public void infoToast(View view){
Date date = (Date) view.getTag();
List<String> dayDescription = getDayStatus(date);
Context context = (Context) getApplicationContext();
int duration = Toast.LENGTH_SHORT;
CharSequence text = (String) dayDescription.get(2);
Toast.makeText(context, text, duration).show();
}
我尝试将焦点设置为 imageButton,但它仍然不起作用。我附上一张图片来更好地描述这个问题: http: //oi42.tinypic.com/2rcxrv6.jpg