Ответ 1
Сначала определите Drawable, а затем установите его в ImageView.
img=(ImageView)findViewById(R.id.imageview1);
Drawable myDrawable = getResources().getDrawable(R.drawable.imageView1);
img.setImageDrawable(myDrawable);
Простите меня за то, что вы новичок, и мой теминология может быть неправильной:
У меня есть массив изображений в классе1, когда изображение выбрано, его идентификатор передается классу2 (код ниже). Затем я показываю это изображение и даю возможность установить его как фоновый рисунок. Проблема в том, что, используя приведенный ниже код, мне нужна возможность рисовать обои, а не ImageView. Может ли кто-нибудь дать мне некоторое руководство по ссылке на фактическое вытягивание, где у меня есть msgstr "myWallpaperManager.setResource(нужен здесь вариант);
Спасибо заранее. Надеюсь, это имеет смысл, поскольку я сказал, что я ноб!
public class FullWallView extends Activity {
private Button wallbutton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wallpaper_full);
// get intent data
Intent i = getIntent();
// Selected image id
int position = i.getExtras().getInt("id");
ImageAdapter imageAdapter = new ImageAdapter(this);
ImageView imageView = (ImageView) findViewById(R.id.full_wall_view);
imageView.setImageResource(imageAdapter.mThumbIds[position]);
//Making Button Clickable and setting the wallpaper
wallbutton = (Button) findViewById(R.id.apply);
wallbutton.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
WallpaperManager myWallpaperManager
= WallpaperManager.getInstance(getApplicationContext());
try {
myWallpaperManager.setResource(need a drawable here);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}});
Сначала определите Drawable, а затем установите его в ImageView.
img=(ImageView)findViewById(R.id.imageview1);
Drawable myDrawable = getResources().getDrawable(R.drawable.imageView1);
img.setImageDrawable(myDrawable);
getResources(). Метод getDrawable (int id) устарел на уровне API 22.
Вы можете проверить версию, затем использовать следующие методы:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
imageView.setImageDrawable(getApplicationContext().getDrawable(R.drawable.myDrawable));
} else {
imageView.setImageDrawable(getResources().getDrawable(R.drawable.myDrawable));
}
.
Я только что заметил, что вам нужно передать resourceID не Drawable, нет прямого способа получить resourceID из ImageView, почему бы вам не попробовать запомнить это значение, а затем передать его.
Надеемся, что это поможет и насладится вашей работой.
Если вы хотите сделать это динамически, указав только имя изображения:
public static Drawable getImage(Context context, String name) {
return context.getResources().getDrawable(context.getResources().getIdentifier(name, "drawable", context.getPackageName()));
}
затем установите изображаемое изображение так:
ImageView image = findViewById(R.id.logo);
image.setImageDrawable(getImage(context, "imageName"));