按钮没有做任何事情

时间:2017-07-25 10:48:08

标签: java android xml button

Android Studio中没有错误消息。点击它时,“选择图像按钮”没有响应。

我看过类似的问题,但没有一个是我的问题所特有的,并没有帮助

xml文件:

 <de.hdodenhof.circleimageview.CircleImageView
        android:layout_width="85dp"
        android:layout_height="85dp"
        android:src="@drawable/noprofileimg"
        android:id="@+id/profilepic"
        android:layout_marginBottom="37dp"
        android:layout_alignBottom="@+id/imageView"
        android:layout_centerHorizontal="true" />
<Button
    android:id="@+id/pick_image_button"
    android:layout_width="80dp"
    android:layout_height="23dp"
    android:text="Pick Image"
    android:textSize="12dp"
    android:padding="0dp"
    android:background="@color/Gray"
    android:layout_marginBottom="13dp"
    android:layout_above="@+id/linearLayout"
    android:layout_centerHorizontal="true"
    android:onClick="onClick"
    />

活动文件,

  public class uploadprofileimg extends ActionBarActivity{


private static final int PICK_IMAGE = 100;
private ImageView imageView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_profile);

    imageView = (ImageView) findViewById(R.id.profilepic);

    Button pickImageButton = (Button) findViewById(R.id.pick_image_button);
    pickImageButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            openGallery();
        }
    });
}

private void openGallery() {
    Intent gallery =
            new Intent(Intent.ACTION_PICK,
                    android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
    startActivityForResult(gallery, PICK_IMAGE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK && requestCode == PICK_IMAGE) {
        Uri imageUri = data.getData();
        imageView.setImageURI(imageUri);
    }
}

}

这是我的logcat:

07-25 11:51:36.776 28107-28107/com.liamthedeveloper.foodiez E/BoostFramework: BoostFramework() : Exception_1 = java.lang.ClassNotFoundException: Didn't find class "com.qualcomm.qti.Performance" on path: DexPathList[[],nativeLibraryDirectories=[/system/lib64, /vendor/lib64]] 07-25 11:51:36.776 28107-28107/com.liamthedeveloper.foodiez V/BoostFramework: BoostFramework() : mPerf = null 07-25 11:51:37.080 28107-28107/com.liamthedeveloper.foodiez D/ViewRootImpl@435aa35[ProfileActivity]: ViewPostImeInputStage processPointer

3 个答案:

答案 0 :(得分:5)

从xml中的Button标记中删除android:onClick="onClick"

答案 1 :(得分:1)

您同时拥有相同活动的onclicklistener和onclick属性。您只需删除onclick或只需将“onclick”更改为您已命名方法的opengallery

答案 2 :(得分:0)

您已经在Java代码中使用了pickImageButton.setOnClickListener(new View.OnClickListener(),所以您应该从xml文件中删除on click属性,因为使用android:onClick="onClick"可以直接从Java代码中的Java代码中调用方法用户定义的函数名为onclick。