কিভাবে অ অস্তিত্ব ইমেজ জন্য একটি ব্যতিক্রম নিক্ষেপ চয়ন

আমার দৃষ্টিতে আমি গ্যালারি থেকে ছবিটি বেছে নিয়েছিলাম এবং আমার ছবিতে দেখিয়েছিলাম একই লেআউটটি দেখুন এবং আমি ইমেজটি ব্যবহার করে অন্য কার্যকলাপে প্রক্রিয়া করতে পারি। কিন্তু ইন্টেন্ট বাটন ক্লিক করার সময় যখন আমি কোনও ছবি নির্বাচন করি না তখন আমার একটি বল বন্ধ হয়ে যায়।

কে এই সমাধান উপর ধারণা আছে?

public void onCreate(Bundle savedInstanceState){

    super.onCreate(savedInstanceState);
    setContentView (R.layout.browse_page);

    //action for browse Image

        Intent intent = new Intent();       
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent,"Select Picture"), SELECT_PICTURE);


    //declare image and button
    image = (ImageView) findViewById (R.id.image);
    chooseNewImage = (Button) findViewById (R.id.chooseNewImage);
    grayScale = (Button) findViewById (R.id.greyscale);

    //back to previous page
    chooseNewImage.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
           //TODO Auto-generated method stub
            finish();
        }
    });

    //go to set the image to grayScale
    grayScale.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

                Intent greyScale = new Intent(browsePage.this, grayScale.class);
                greyScale.putExtra("imagePath", path_selectedImage);
                startActivity(greyScale);

        }
    }); 
}

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK && requestCode == SELECT_PICTURE) {


                    Uri_selectedImage = data.getData();
                    path_selectedImage = getPath(Uri_selectedImage);                   
                    image.setImageURI(Uri_selectedImage);
                    System.out.println(path_selectedImage);
                    Toast.makeText(getBaseContext(), "Your selected picture", Toast.LENGTH_SHORT).show(); 
             }


    }

    private String getPath(Uri uri) {
       //TODO Auto-generated method stub
        String[] project = {MediaStore.Images.Media.DATA};
        Cursor c = managedQuery(uri, project, null, null, null);
        startManagingCursor(c);
        int column_index = c.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        c.moveToFirst();
        return c.getString(column_index);


}

যখনই আমি কোন ইমেজ পছন্দ করি না এবং আমি গ্রেসকেলে বাটন টিপ করি, এটি স্টপ বন্ধ করে দেয়। এটা চেষ্টা-ধরা প্রয়োজন?

0
যোগ সম্পাদিত
মতামত: 1
আমি একটি টোস্ট পপ আপ করতে চান ~
যোগ লেখক user1381427, উৎস
আপনি যখন গ্রীসকেলে ক্লিক করেন এবং কোন ছবি নির্বাচন করা হয় তখন আপনি কি করতে চান? বা একটি ইমেজ নির্বাচন করা হলে আপনি শুধুমাত্র greyscale বাটন সক্রিয় করতে হবে? ক্র্যাশ এর logcat পোস্ট করুন।
যোগ লেখক Simon, উৎস

1 উত্তর

 //go to set the image to grayScale     
 grayScale.setOnClickListener(new View.OnClickListener() {
       public void onClick(View v) {

          if (path_selectedImage==null){
            //show toast here
          } else {     
             Intent greyScale = new Intent(browsePage.this,grayScale.class);
             greyScale.putExtra("imagePath",path_selectedImage);
             startActivity(greyScale);          
       }
 });  
0
যোগ