Я добавляю кнопку в ImagePagerActivity для установки изображения в качестве фона телефона. Функция сама по себе хорошо работает (я могу установить значок приложения как bg, если я установил R.drawable.icon
).Универсальный загрузчик изображений: как поймать идентификатор просматриваемого изображения?
Проблема в том, что я строго не знаю, как поймать идентификатор изображения, чтобы люди могли установить как bg изображение, которое они просматривают в настоящее время. Я много пробовал, но ничего не работает.
Например, 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);
}
Thx Я попытаюсь это как можно скорее. Я прокомментирую результат. – Taklo
Мне это не удалось. Не уверен, но я думаю, что с UAL это невозможно, так как он загружает изображения. – Taklo