为什么这个ImageButton的onClick在Android 2.3中没有出现?

时间:2014-01-13 15:26:56

标签: android onclick onclicklistener imagebutton android-2.3-gingerbread

我已经确认正在调用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);
        }
    }
}

0 个答案:

没有答案