보기의 배경 이미지를 동적으로 변경하려고합니다. View 클래스를 확장하는 paintView 클래스가 있습니다. sdcard에 저장된 이미지의 파일 이름 인 사용자 입력 (아래 코드의 m_text)을 사용합니다. 그런 다음 paintView의 배경 이미지로 설정하려고합니다.Android : 동적으로 변경 배경보기
시도했지만 흰색 배경 만 제공합니다. 그래서 나는 그 길에 뭔가 잘못 될 수 있다고 생각했습니다. 따라서 사용자 입력을 사용하고 이미지의 실제 경로 (이미지를 저장하는 데 사용 된 경로, 아래 코드에서 주석 처리되지 않은 주소)를 사용하여 부분을 주석 처리했습니다. 그것은 여전히 나에게 흰색 배경을 제공합니다.
오류가있는 곳을 찾는 사람을 도와 줄 수 있습니까?
감사합니다.
@SuppressWarnings("deprecation")
private void loadImage(){
String root = Environment.getExternalStorageDirectory().toString();
//String address = root + m_text;
String address = "file://" + root + "/saved_images" + "/Image.jpg";
File imageFile = new File(address);
Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath());
System.out.println(imageFile.getAbsolutePath());
Drawable bgImage = new BitmapDrawable(context.getResources(), bitmap);
paintView.setBackgroundDrawable(bgImage);
}
이 부분이이 기능을 호출하는 곳입니다. 그것은에서 onCreate 메소드 내에서의 : 매니페스트에
loadButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
final EditText input = new EditText(context);
input.setInputType(InputType.TYPE_CLASS_TEXT);
builder.setView(input);
builder.setPositiveButton("load", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which){
m_text = input.getText().toString();
loadImage();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which){
dialog.cancel();
}
});
builder.show();
}
});
:
<uses-permission android:name = "android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name = "android.permission.READ_EXTERNAL_STORAGE"/>
loadImage() 메서드를 사용하는 부분을 게시 할 수 있습니까? – Opiatefuchs
질문에 추가했습니다! 감사합니다 – user1798650