Android studio resources getdrawable deprecated

Android getResources (). GetDrawable () устаревший API 22

С новым API android API 22 getResources().getDrawable() теперь устарел. Теперь лучший подход – использовать только getDrawable() .

У вас есть некоторые опции, позволяющие справиться с этим устареванием в правильном (и будущем ) способе, в зависимости от того, какой тип выгружаемого вы загружаете:

A) чертежи с атрибутами темы

Вы получите стилизованный Drawable, как указано в разделе «Активность». Вероятно, это то, что вам нужно.

B) чертежи без атрибутов темы

Вы получите свой неоригинальный доступный старый способ. Обратите внимание: ResourcesCompat.getDrawable() не устарел!

EXTRA) с атрибутами темы из другой темы

Изменить: см. Мое сообщение в блоге по этому вопросу для более полного объяснения

Вместо этого вы должны использовать следующий код из библиотеки поддержки:

Использование этого метода эквивалентно вызову:

Начиная с API 21, вы должны использовать метод getDrawable(int, Theme) вместо getDrawable(int) , поскольку он позволяет вам извлекать объект, связанный с определенным идентификатором ресурса для данной плотности экрана / темы. Вызов устаревшего getDrawable(int) эквивалентен вызову getDrawable(int, null) .

Замените эту строку: getResources().getDrawable(R.drawable.your_drawable)

С ResourcesCompat.getDrawable(getResources(), R.drawable.your_drawable, null)

ResourcesCompat также устарел. Но вы можете использовать это:

ContextCompat.getDrawable(this, R.drawable.your_drawable) (Вот this контекст)

Для получения более подробной информации перейдите по этой ссылке: ContextCompat

getResources().getDrawable() устарел на уровне API 22. Теперь мы должны добавить тему:

GetDrawable (int id, Resources.Theme theme) (добавлен в уровень API 21)

Это пример проверки для более поздних версий:

Вы можете использовать

Читайте также:  Лучшие стрелялки от первого лица для андроид

Это работа для меня

Просто пример того, как я исправил проблему в массиве для загрузки listView, надеюсь, что это поможет.

Источник

Android getResources().getDrawable() deprecated API 22

Posted by: admin November 4, 2017 Leave a comment

With new android API 22 getResources().getDrawable() is now deprecated.
Now the best approach is to use only getDrawable() .

You have some options to handle this deprecation the right (and future proof) way, depending on which kind of drawable you are loading:

A) drawables with theme attributes

You’ll obtain a styled Drawable as your Activity theme instructs.
This is probably what you need.

B) drawables without theme attributes

You’ll get your unstyled drawable the old way. Please note: ResourcesCompat.getDrawable() is not deprecated!

EXTRA) drawables with theme attributes from another theme

Edit: see my blog post on the subject for a more complete explanation

You should use the following code from the support library instead:

Using this method is equivalent to calling:

As of API 21, you should use the getDrawable(int, Theme) method instead of getDrawable(int) , as it allows you to fetch a drawable object associated with a particular resource ID for the given screen density/theme. Calling the deprecated getDrawable(int) method is equivalent to calling getDrawable(int, null) .

Replace this line :
getResources().getDrawable(R.drawable.your_drawable)

with ResourcesCompat.getDrawable(getResources(), R.drawable.your_drawable, null)

ResourcesCompat is also deprecated now. But you can use this:

ContextCompat.getDrawable(this, R.drawable.your_drawable) (Here this is the context)

for more details follow this link: ContextCompat

getResources().getDrawable() was deprecated in API level 22. Now we must add the theme:

This is an example:

This is an example how to validate for later versions:

that’s work for me

Just an example of how I fixed the problem in an array to load a listView, hope it helps.

Build.VERSION_CODES.LOLLIPOP should now be changed to BuildVersionCodes.Lollipop
i.e:

android – How do I display a CalendarView in an AlertDialog?

Questions: I’m trying to display the CalendarView in an Alert Dialog, but all that shows up is the month/year and the days of the week. These are the contents of the layout file:

How do I convert a PSD design to Android xml?

Questions: Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers. Want to improve this question? Update the question so it’s on-topic for Stack Over.

Читайте также:  Блокировка нежелательных звонков для андроид от яндекса установить

Источник

Android getResources ().getDrawable () устаревший API 22

С новым Android API 22 getResources().getDrawable() теперь устарел. Теперь лучший подход-использовать только getDrawable() .

10 ответов:

у вас есть несколько вариантов, чтобы справиться с этим прекращение права (и будущее) способ, в зависимости от того, какой вид drawable вы загружаете:

A) drawables С атрибуты тема

вы получите стилизованный Drawable, как ваша тема деятельности инструктирует. Это, наверное, то, что вам нужно.

б) drawables без тема атрибуты

вы получите ваш unstyled drawable по-старому. Пожалуйста, обратите внимание: ResourcesCompat.getDrawable() — это не устарел!

дополнительно) drawables С атрибуты темы от другое тема

редактировать: см.мой блог на эту тему для более полного объяснения

вместо этого вы должны использовать следующий код из библиотеки поддержки:

использование этого метода эквивалентно вызову:

начиная с API 21, Вы должны использовать getDrawable(int, Theme) вместо getDrawable(int) , так как он позволяет извлекать объект мешочки, связанного с определенным идентификатором ресурса для данного плотность экрана/тема. Вызов устарел getDrawable(int) метод эквивалентен вызову getDrawable(int, null) .

заменить эту строку : getResources().getDrawable(R.drawable.your_drawable)

С ResourcesCompat.getDrawable(getResources(), R.drawable.your_drawable, null)

ResourcesCompat также устарел в настоящее время. Но вы можете использовать это:

ContextCompat.getDrawable(this, R.drawable.your_drawable) (здесь this контекст)

для более подробной информации перейдите по этой ссылке: ContextCompat

Источник

Android studio getdrawable(int) is deprecated

I am taking a Udemy course and I recently upgraded my Studio version from 1.4 to 2.2. Now I have run into a problem as the course obviously is using an older version of Studio. And as I am only less than halfway through, I imagine future tutorials might use similar code, so I would like to figure out the new way of doing it. Googling the issue brings up results referring to Context.getDrawable(int) or ContextCompat.getDrawable( Context, int) or Resources.getDrawable(int, Theme). I am not quite sure how to use them. Below is the DetailsActivity.java code. At the bottom you will see getDrawable with a line through it and a hint that it is deprecated. Well after the copy and paste, the lines through the word did not get copied. So I will underline them.

Читайте также:  Работа через андроид вакансии

package uiviewsxml.magadistudio.co m.showmeth ebio;

import android.app.Activity;
import android.content.res.Resour ces;
import android.support.v7.app.App CompatActi vity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class DetailsActivity extends Activity <

private ImageView profileImage;
private TextView bioText;
private TextView name;
private Bundle extras;

@Override
protected void onCreate(Bundle savedInstanceState) <
super.onCreate(savedInstan ceState);
setContentView(R.layout.de tails_acti vity);

profileImage = (ImageView) findViewById(R.id.detailsI mage);
bioText = (TextView) findViewById(R.id.bioTextV iew);
name = (TextView) findViewById(R.id.name);

Bundle extras = getIntent().getExtras();

if (extras != null)<

String name = extras.getString(«name»);

public void showDetails(String mName) <

profileImage.setImageDrawa ble(getRes ources().getDrawable(R.drawable.bach_col));
name.setText(mName);
bioText.setText(extras.get String(mNa me));

profileImage.setImageDrawa ble(getRes ources().getDrawable(R.drawable.mozart));
name.setText(mName);
bioText.setText(extras.get String(mNa me));

Any suggestions are welcome and thanks in advance for your time.

Источник

Получение объекта Drawable из строки в Android Studio

Я пытаюсь найти способ установить просмотр изображения через строку. Кажется, что getResources () устарел, и я не могу найти быстрый способ передать строку и загрузить изображение в мой imageView. У меня нет работающего или полезного кода для представления, я просто прошу методы для изучения. Благодарность!

3 ответа

Ответ theMatus правильный. Доступ к чертежам осуществляется через идентификатор int (т.е. R.drawable.some_image будет иметь соответствующее значение int ). Чтобы преобразовать String в такое значение, вы должны использовать Resources.getIdentifier() :

Чтобы получить доступ к Drawable , вы должны использовать getResources().getDrawable(resId) . Кстати, getResources() не устарел, хотя getDrawable(int id) технически соответствует API 22 (он по-прежнему будет работать). Если вы хотите подойти к этому правильно и обойти устаревание, вы можете использовать следующее:

С API 22 getResources () устарел. Вы можете использовать это вместо этого, он также обратно совместим, поэтому вы можете смело переходить к этому методу.

Обновление:

Также забыл упомянуть, что вы можете использовать Picasso для загрузки ваших строк (направленных на путь изображения) в просмотры изображений.

Вот небольшой пример:

Вы можете немного поискать Пикассо здесь: http://square.github.io/picasso/

Не говоря уже о том, что Android-приложение Stackoverflow также использует эту библиотеку, одну из обязательных библиотек в Android.

Собственно theMatus ответил на ваш вопрос. Этот код предназначен для устаревшей проблемы.

Источник

Оцените статью