2016-12-19 2 views
0

私は、ボタンごとに複数のボタンがあるレイアウトを持つフラグメントを作成しようとしています。私は1回目のクリックで画像をキャプチャしたい、同じボタンで2回目のクリックで私はギャラリーにカスタム名で保存された同じ画像を表示したい。 **私はギャラリーを再度開いたときには、画像をキャプチャするために再び尋ね、私はそれがすでにが開き、2回目のクリックでキャプチャされた画像が表示されます。私は、アプリケーションを開いた後、最初のクリックでキャプチャされた画像を表示する必要があります

enter code here前回クリックされたときにのみ画像を表示させたい** btn.setOnClickListener(新View.OnClickListener(){ @Override ます。public void onClickの(ビュービュー){// 場合(uri.equals(URI)) clickcount1 = clickcount1 + 1; 場合(clickcount1は== 1){

    Intent in = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss"); 
        // SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss"); 

        String datetime = sdf.format(new Date(System.currentTimeMillis())); 
        Log.i("DateTime", datetime); 
        //String datetime = DateFormat.getTimeInstance().format(new Date()).toString(); 
        File folder = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "MY_Docs"); 
        if (!folder.exists()) 
         folder.mkdirs(); 
        File file = new File(folder, "Aadhar_" + datetime + ".jpg"); 
        try { 
         file.createNewFile(); 
        } 
        catch (Exception e) { 
         Log.e("creating file exception", e.toString()); 
        } 
        uriaadhar = Uri.fromFile(file); 
        Log.i("URI after file creation", uriaadhar.toString()); 
        Toast.makeText(getActivity(), "After file conversion to uri", Toast.LENGTH_SHORT).show(); 
        in.putExtra(MediaStore.EXTRA_OUTPUT, uriaadhar); 
        startActivity(in); 
       } 

      if (clickcount1 >= 2) 
      { 
        String filepath = uriaadhar.getPath(); 
        Log.e("FilePath2", filepath); 
        AlertDialog.Builder ab = new AlertDialog.Builder(getActivity()); 
        View v = inflater.inflate(R.layout.doc1, null); 
        ab.setView(v); 
        ab.setTitle("Aadhar Card"); 
        ImageView ivAadhar = (ImageView) v.findViewById(R.id.iv_Aadhar); 
        Bitmap bitmap=BitmapFactory.decodeFile(filepath); 
       //Code for marshmallow to display image in imageview 
       int nh = (int) (bitmap.getHeight() * (512.0/bitmap.getWidth())); 
       Bitmap scaled = Bitmap.createScaledBitmap(bitmap, 600, nh, true); 

        ivAadhar.setImageBitmap(scaled); 
        //ivAadhar.setImageBitmap(BitmapFactory.decodeFile(filepath)); 
        ab.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialogInterface, int i) { 
          dialogInterface.dismiss(); 
         } 
        }); 
        ab.show(); 

      } 

     } 

    }); 

答えて

1

お使いのクリックカウント変数static

private static int clickcount1 = 0; 

または、自分のモードの状態をsharedPeferenceに保存して、いつでも再利用できます。

+0

あなたはコードラインclickcount1 = 2を使用してください。 私はそれを理解することができません.. –

+0

あなたの質問で誤解を招くことがあります。ちょうどあなたの変数として静的を使用するか、またはデータストレージの種類を使用してアプリケーションを起動すると、私は答えを編集します。 –

関連する問題