ImagePagerActivity にボタンを追加して、画像を電話の背景として設定しています。関数自体はうまく機能します(設定した場合、アプリのアイコンをbgとして設定できますR.drawable.icon
)。
問題は、人々が現在閲覧している画像をbgとして設定できるように、画像IDを取得する方法が厳密にわからないことです。私は多くのことを試しましたが、何もうまくいきません。
たとえば、R.id.image
「false」をR.layout.item_pager_image
送信したり、XML パスを送信したりします (これは正常です。これはテスト用です) など...「ねえ、この写真を入れてください」と言うためにどの値を使用できるか本当にわかりません。私の新しい電話の背景として、私は見ています。」.
}
の最後の直前に使用するコードを次に示しますImagePagerActivity.java
。(はい、壁紙のコードはコメントされています。デバッグ用に値を出力します)
ご協力いただきありがとうございます !
public void onWallpaperClick(View view) {
openMyDialog(null);
}
public void openMyDialog(View view) {
showDialog(10);
}
//@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 10:
// Create our AlertDialog
Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Définir cette photo comme fond d'écran de votre appareil ?")
.setCancelable(true)
.setPositiveButton("Oui",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// Ends the activity
//HomeActivity.this.finish();
WallpaperManager myWallpaperManager
= WallpaperManager.getInstance(getApplicationContext());
//try {
//myWallpaperManager.setResource(R.id.image);
//} catch (IOException e) {
// e.printStackTrace();
// }
Toast.makeText(getApplicationContext(),
R.drawable.icon,
Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("Non",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
Toast.makeText(getApplicationContext(),
"Ok !",
Toast.LENGTH_SHORT).show();
}
});
return builder.create();
}
return super.onCreateDialog(id);
}