Button默认是无法获取焦点的,通过添加如下属性可以时Button获取焦点:

android:focusable="true"
android:focusableInTouchMode="true"

不过这样会带来一个问题,就是在第一次点击Button时,Button获得焦点,但是不响应点击事件,第二次点击时响应点击事件。

解决需要两次点击Button,才能响应的问题就是在为Button设置焦点监听器,并在监听器中响应与Button的点击事件,如下:

camera.setOnFocusChangeListener(new OnFocusChangeListener() {

@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if(hasFocus){
Intent it = new Intent(TaskOperationActivity.this, ImageReportActivity.class);
it.putExtra("taskID", task.getId());
it.putExtra("serialNo", camera.getTag().toString());
for(int i = 0; i < elementImages.size(); i++){
if(elementImages.get(i).getSerialNo().equals(camera.getTag().toString())){
Bundle bd = new Bundle();
bd.putSerializable("elementValue", elementImages.get(i));
LoggerUtils.d("图片元素:", elements.get(i).toString());
it.putExtra("bd", bd);
break;
}
}
startActivityForResult(it, MORE_PICTURE);
}
}
});
camera.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent it = new Intent(TaskOperationActivity.this, ImageReportActivity.class);
it.putExtra("taskID", task.getId());
it.putExtra("serialNo", camera.getTag().toString());
for(int i = 0; i < elementImages.size(); i++){
if(elementImages.get(i).getSerialNo().equals(camera.getTag().toString())){
Bundle bd = new Bundle();
bd.putSerializable("elementValue", elementImages.get(i));
LoggerUtils.d("图片元素:", elements.get(i).toString());
it.putExtra("bd", bd);
break;
}
}
startActivityForResult(it, MORE_PICTURE);
}
});

更多相关文章

  1. Android(安卓)定时让popupwindow消失
  2. 【Android】悬浮按钮(FloatingActionButton)
  3. (转)EditText 焦点控制,进入界面时不弹出键盘
  4. Android侧滑菜单之DrawerLayout用法详解
  5. Android的Button属性使用
  6. 列表中焦点处理
  7. Android(安卓)WiFi ADB
  8. 使用响应式编程(RxJava)开发Android(安卓)App
  9. 软件安装:android studio安装以及操作手册

随机推荐

  1. Android(安卓)HttpClient上传文件与Httpc
  2. Android(安卓)调用系统Email --多附件
  3. Android(安卓)日历开发教程[三]
  4. Android获取屏幕分辨率及DisplayMetrics
  5. Android的PVPlayer介绍
  6. 手把手教你搭建 NDK 环境搭建
  7. Android(安卓)自定义控件-SnakeLayout (仿
  8. Android(安卓)直接顯示 Emoji 圖案
  9. Android通知系统源码解析
  10. 《Android(安卓)Dev Guide》系列教程8:用