我已经确认正在调用setOnClickListener,那么为什么按钮点击不会在2.3中执行任何操作?它在4.1中工作正常。我正在使用模拟相机的模拟器进行测试。我已经尝试确保按钮在xml中是可点击的,但是没有做任何事情。
ImageButton mPhotoButton = null;
if (v != null) {
mPhotoButton = (ImageButton) v.findViewById(R.id.crime_imageButton);
}
if (mPhotoButton != null) {
mPhotoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getActivity(), CrimeCameraActivity.class);
startActivityForResult(i, REQUEST_PHOTO);
}
});
}
的xml:
<ImageButton
android:id="@+id/crime_imageButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_menu_camera"/>
将按钮设置为禁用,为什么只在2.3执行?:
PackageManager pm = getActivity().getPackageManager();
if (pm != null) {
if (!pm.hasSystemFeature(PackageManager.FEATURE_CAMERA) && !pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)) {
if (mPhotoButton != null) {
mPhotoButton.setEnabled(false);
}
}
}