出于某种原因,代码中的这个用红色下划线标注。如何解决此错误?

时间:2016-07-04 05:44:42

标签: java android android-studio

这是Main6Activity.java的代码。我得到了一些强调的代码。请告诉我在这种情况下该怎么做:

public class Main6Activity extends AppCompatActivity {
        private Button buttonChoose;
        private Button buttonUpload;
        private ImageView imageView;
        private EditText editTextName;
        private Bitmap bitmap;
        private int PICK_IMAGE_REQUEST = 1;
        private String UPLOAD_URL = "http://simplifiedcoding.16mb.com/VolleyUpload/upload.php";
        private String KEY_IMAGE = "image";
        private String KEY_NAME = "name";

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main6);
            buttonChoose = (Button) findViewById(R.id.buttonChoose);
            buttonUpload = (Button) findViewById(R.id.buttonUpload);
            editTextName = (EditText) findViewById(R.id.editText);
            imageView = (ImageView) findViewById(R.id.imageView);
            buttonChoose.setOnClickListener(this);
            buttonUpload.setOnClickListener(this);
        }

        public String getStringImage(Bitmap bmp) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            byte[] imageBytes = baos.toByteArray();
            String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
            return encodedImage;

        private void uploadImage() { //Showing the progress dialog
            final ProgressDialog loading = ProgressDialog.show(this, "Uploading...", "Please wait...", false, false);
            StringRequest stringRequest = new StringRequest(Request.Method.POST, UPLOAD_URL, new Response.Listener<String>() {
                @Override
                public void onResponse(String s) { //Disimissing the progress dialog
                    loading.dismiss(); //Showing toast message of the response
                    Toast.makeText(Main6Activity.this, s, Toast.LENGTH_LONG).show();
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError volleyError) {
                    //Dismissing the progress dialog
                    loading.dismiss(); //Showing toast
                    Toast.makeText(Main6Activity.this, volleyError.getMessage().toString(), Toast.LENGTH_LONG).show();
                }
            }) {
                @Override
                protected Map<String, String> getParams() throws AuthFailureError {
                    //Converting Bitmap to String
                    String image = getStringImage(bitmap); //Getting Image Name
                    String name = editTextName.getText().toString().trim(); //Creating parameters
                    Map<String, String> params = new Hashtable<String, String>(); //Adding parameters
                    params.put(KEY_IMAGE, image);
                    params.put(KEY_NAME, name); //returning parameters
                    return params;
                }
            };
            RequestQueue requestQueue = Volley.newRequestQueue(this);
            //Adding request to the queue
            requestQueue.add(stringRequest);
        }

        private void showFileChooser() {
            Intent intent = new Intent();
            intent.setType("image/*");
            intent.setAction(Intent.ACTION_GET_CONTENT);
            startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
                Uri filePath = data.getData();
                try {
                    //Getting the Bitmap from Gallery
                    bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
                    //Setting the Bitmap to ImageView
                    imageView.setImageBitmap(bitmap);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        @Override
        public void onClick(View v) {
            if (v == buttonChoose) {
                showFileChooser();
            }
            if (v == buttonUpload) {
                uploadImage();
            }
        }
    }

谢谢你的帮助将不胜感激。由于某种原因,这用红色加下划线。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

将嵌套类中的this(例如new Response.ErrorListener())更改为:

Main6Activity.this