Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 按钮未执行任何操作_Android_Onclicklistener - Fatal编程技术网

Android 按钮未执行任何操作

Android 按钮未执行任何操作,android,onclicklistener,Android,Onclicklistener,我是新的编码,我无法找到导致问题的错误 不知道为什么当我点击一个按钮时,它没有执行任何操作。在onclicklistner中找不到任何错误。当我单击“选择”按钮时,它假定为我提供从库中选择图像的选项,而不是当我单击“选择”按钮时,它不会执行任何操作,也不会给出任何错误 Java代码: package com.vshine.neuron; import android.content.Intent; import android.graphics.Bitmap; import android.n

我是新的编码,我无法找到导致问题的错误 不知道为什么当我点击一个按钮时,它没有执行任何操作。在onclicklistner中找不到任何错误。当我单击“选择”按钮时,它假定为我提供从库中选择图像的选项,而不是当我单击“选择”按钮时,它不会执行任何操作,也不会给出任何错误

Java代码:

package com.vshine.neuron;

import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

import com.vshine.neuron.testing.R;

import org.w3c.dom.Text;

import java.io.IOException;

public class imageupload extends AppCompatActivity implements View.OnClickListener {
Button btn1 , btn2;
TextView tv;
EditText edt;
ImageView img;
private final static int IMG_REQUEST =1;
private Bitmap bitmap;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_imageupload);

        btn1 = findViewById(R.id.btnupload);
        btn2 = findViewById(R.id.btnchose);
        //tv = findViewById(R.id.textview);
        edt = findViewById(R.id.edit);
        img = findViewById(R.id.imgview);
        btn1.setOnClickListener(this);
        btn2.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {

        switch (v.getId())
        {

            case R.id.btnchose:

                break;
        }
    }

    private void selectImage()
    {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(intent,IMG_REQUEST);

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==IMG_REQUEST && resultCode==RESULT_OK && data !=null)
        {
            Uri path = data.getData();
            try {
                bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(),path);
                img.setImageBitmap(bitmap);
                img.setVisibility(View.VISIBLE);
                edt.setVisibility(View.VISIBLE);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
以下是布局的XML代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.vshine.neuron.imageupload">

    <!--<TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="lang and lat"
        android:textSize="20dp"
        android:id="@+id/textview"/>-->
    <ImageView
        android:layout_marginTop="20dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/imgview"
        android:visibility="gone"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter a Name"
        android:visibility="gone"
        android:id="@+id/edit"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Upload"
        android:id="@+id/btnupload"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Choose image"
        android:id="@+id/btnchose"/>

</LinearLayout>

您忘记调用
selectImage()
方法中的
onClick()
方法

 @Override
    public void onClick(View v) {

        switch (v.getId())
        {

            case R.id.btnchose:
                selectImage();
                break;
        }
    }
试试这个

package com.vshine.neuron;

import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

import com.vshine.neuron.testing.R;

import org.w3c.dom.Text;

import java.io.IOException;

public class imageupload extends AppCompatActivity implements View.OnClickListener {
Button btn1 , btn2;
TextView tv;
EditText edt;
ImageView img;
private final static int IMG_REQUEST =1;
private Bitmap bitmap;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_imageupload);

        btn1 = findViewById(R.id.btnupload);
        btn2 = findViewById(R.id.btnchose);
        //tv = findViewById(R.id.textview);
        edt = findViewById(R.id.edit);
        img = findViewById(R.id.imgview);
        btn1.setOnClickListener(this);
        btn2.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {

        switch (v.getId())
        {

            case R.id.btnchose:
                   selectImage();
             //do what you want
                break;
        }
    }

    private void selectImage()
    {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(intent,IMG_REQUEST);

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==IMG_REQUEST && resultCode==RESULT_OK && data !=null)
        {
            Uri path = data.getData();
            try {
                bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(),path);
                img.setImageBitmap(bitmap);
                img.setVisibility(View.VISIBLE);
                edt.setVisibility(View.VISIBLE);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

将selectImage添加到单击的
onClick
方法中,如下所示:

@Override
public void onClick(View v) {

    switch (v.getId())
    {

        case R.id.btnchose:
            selectImage();
            break;
    }
}
在代码中调用
selectImage()
方法:

switch (v.getId())
    {

        case R.id.btnchose:
            selectImage();
            break;
    }

看看这个。如果
Toast
正在工作,那么您已经正确地实现了侦听器

@Override
public void onClick(View v) {
switch(v.getId())
{
 case R.id.btnchose:
       Toast.makeText(this, "Caleed or not", Toast.LENGTH_SHORT).show();     
 }
}

您的onClick方法需要调用selectImage方法。单击按钮时您什么也不做。这就是为什么什么都没有发生。你的onclick方法是空的事实上,你没有在那里写下你希望它在点击时做的事情。为什么它什么都没做?你忘了添加
selectImage()之后。
Thanku它起作用了,这是一个非常愚蠢的错误me@Umair如果它能解决您的问题,请投票并将其标记为“乐于解决的编码:”)在堆栈交换中,提问是一种特权,而不是权利。如果一个用户在问了合理数量的问题后,不能证明他们的贡献正在使网站变得更好(或者至少不会使网站变得更糟),那么他们将被阻止进一步提问,直到他们证明他们有能力做出积极的贡献。谢谢,这是一个非常愚蠢的错误。