簡體   English   中英

ImageView 在 DialogFragment 中不可點擊

[英]ImageView not Clickable in DialogFragment

我有一個 ImageView,我想為其實現 onClickListener。 但是當我點擊圖像時,什么也沒有發生。 事件 Logcat 沒有顯示任何錯誤。 可點擊性屬性發生了一些事情。

我的 XML 代碼:

    <ImageView
        android:id="@+id/img2"
        android:layout_width="104dp"
        android:layout_height="126dp"
        android:layout_weight="1"
        android:padding="8dp"
        android:scaleType="centerCrop"
        android:clickable="true"
        android:src="@drawable/ic_person_black_24dp"
        tools:ignore="MissingConstraints"
        tools:layout_editor_absoluteX="-3dp"
        tools:layout_editor_absoluteY="14dp"
        android:focusable="true" />

片段中的代碼:

public class DialogFrag extends DialogFragment {

    private ImageView img2;
    private static final int IMAGE_PICK_CODE = 1000;
    private final int CODE_MULTIPLE_IMG_GALLERY = 2;
    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @NonNull
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.dialog_layout, container, false);
        img2 = (ImageView) view.findViewById(R.id.img2);
        img2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_PICK);
                intent.setType("image/*");
                startActivityForResult(intent, IMAGE_PICK_CODE);
            }
        });

        return view;
    }
    @Override
    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        int CODE_IMG_GALLERY = 1;
        if (requestCode == CODE_IMG_GALLERY && resultCode == RESULT_OK) {

            Uri imageUri = data.getData();
            if(imageUri!=null){
                img2.setImageURI(imageUri);
            }
        }
        if (requestCode == CODE_IMG_GALLERY && resultCode == RESULT_OK) {

            Uri imageUri = data.getData();
            if(imageUri!=null){
                img2.setImageURI(imageUri);
            }
        }
    }

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());
        return builder

                .setTitle("Заполните анкету")

                .setView(R.layout.dialog_layout)
                .setPositiveButton("OK", null)
                .setNegativeButton("Отмена", null)
                .create();
    }
}

我的錯誤在哪里? 請幫忙)

請覆蓋onViewCreated()並使用視圖object

kotlin 代碼:

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    img2 = view.findViewById(R.id.img2);
    // Implement onclicklistener
}

我猜這應該有任何幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM