0

我正在尝试开发该功能,用户可以在其中单击图像以选择要在单击的同一视图上上传的图像。我将 ImageView 定义如下

    <ImageView
     style = "@style/DefaultButton"
     android:id="@+id/choose_img"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_centerHorizontal="true"
     android:layout_marginTop="46dp"
     android:clickable="True"
     android:adjustViewBounds="true"
     android:onClick="chooseImg"
     android:contentDescription="@string/description_logo"
     android:src="@drawable/user2" />

方法chooseImg如下

    public void chooseImg(View view){
        Toast.makeText(this, "Choose Image from Gallery", Toast.LENGTH_SHORT).show();
        Intent chimg = new Intent(Intent.ACTION_GET_CONTENT);
        chimg.setType("image/*");
        startActivityForResult(chimg,CHOOSE_IMAGE_REQUEST_CODE);
    }

该方法没有被调用。请帮我知道原因。谢谢 :)。

4

2 回答 2

2

被调用的android:onClick方法必须与您要执行的方法相匹配......但是您在 onClick 上的方法是captureImg并且您在活动中的方法名称是chooseImg。将它们更改为相同的方法名称,它应该可以解决您的问题。另见我的评论。

于 2012-08-31T18:25:54.757 回答
1

卡斯帕是正确的。我要补充一点,您可以让 Activity 本身实现 View.OnClickListener 接口

onClick(View v) { if (v.getId() == (Id for ImageView)) { captureImg(); }

}

或者作为一个匿名的内部类。

于 2012-08-31T18:29:19.357 回答