package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ImageView; import android.widget.ListView; import android.widget.Toast; import android.content.Context; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import java.io.File; import java.io.FileOutputStream; public class PlayerActivity2 extends AppCompatActivity { ListView simpleList; String SerialNo[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"}; int flags[] = {R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image5, R.drawable.image6, R.drawable.image7, R.drawable.image8, R.drawable.image9, R.drawable.image10}; String Names[] = {"mmm", "nnn", "aaa.", "bbb", "ccc", "ddd", "eee jk", " ijk", "Virgil jk", "gil jklk"}; String Score[] = {"1", "2", "3", "5", "4", "3", "5", "5", "5", "5"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity2); simpleList = findViewById(R.id.simpleListView); CustomAdapter customAdapter = new CustomAdapter(getApplicationContext(), simpleList, SerialNo, flags, Names, Score); simpleList.setAdapter(customAdapter); simpleList.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int position, long id) { ImageView imageView = view.findViewById(R.id.imageView); if (imageView != null) { saveImage(imageView, Names[position]); } } }); } public void saveImage(View view, String name) { ImageView imageView = (ImageView) view; Bitmap bitmap = ((BitmapDrawable) imageView.getDrawable()).getBitmap(); String fileName = name + ".jpg"; File dir = getApplicationContext().getDir("images", Context.MODE_PRIVATE); File file = new File(dir, fileName); try { FileOutputStream fos = new FileOutputStream(file); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); Toast.makeText(getApplicationContext(), "Image saved", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } } public void showToast(View view) { Toast.makeText(getApplicationContext(), "Save Image button clicked", Toast.LENGTH_SHORT).show(); } } whats wrong with this code ,it always show bug on this part [imageview ]
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import java.io.File;
import java.io.FileOutputStream;
public class PlayerActivity2 extends AppCompatActivity {
ListView simpleList;
String SerialNo[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
int flags[] = {R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image5, R.drawable.image6, R.drawable.image7, R.drawable.image8, R.drawable.image9, R.drawable.image10};
String Names[] = {"mmm", "nnn", "aaa.", "bbb", "ccc", "ddd", "eee jk", " ijk", "Virgil jk", "gil jklk"};
String Score[] = {"1", "2", "3", "5", "4", "3", "5", "5", "5", "5"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
simpleList = findViewById(R.id.simpleListView);
CustomAdapter customAdapter = new CustomAdapter(getApplicationContext(), simpleList, SerialNo, flags, Names, Score);
simpleList.setAdapter(customAdapter);
simpleList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
ImageView imageView = view.findViewById(R.id.imageView);
if (imageView != null) {
saveImage(imageView, Names[position]);
}
}
});
}
public void saveImage(View view, String name) {
ImageView imageView = (ImageView) view;
Bitmap bitmap = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
String fileName = name + ".jpg";
File dir = getApplicationContext().getDir("images", Context.MODE_PRIVATE);
File file = new File(dir, fileName);
try {
FileOutputStream fos = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
Toast.makeText(getApplicationContext(), "Image saved", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
public void showToast(View view) {
Toast.makeText(getApplicationContext(), "Save Image button clicked", Toast.LENGTH_SHORT).show();
}
}
whats wrong with this code ,it always show bug on this part [imageview ]
Step by step
Solved in 2 steps