私は、ボタンごとに複数のボタンがあるレイアウトを持つフラグメントを作成しようとしています。私は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();
}
}
});
あなたはコードラインclickcount1 = 2を使用してください。 私はそれを理解することができません.. –
あなたの質問で誤解を招くことがあります。ちょうどあなたの変数として静的を使用するか、またはデータストレージの種類を使用してアプリケーションを起動すると、私は答えを編集します。 –