Привет, я разрабатываю Java-приложение для Android. Я только изучаю Android Java.
Изображение в строковых данных, которые я получаю от API, не загружается. Я использую класс Пикассо для загрузки изображения. Хотя изображение можно загрузить в Imageview, тег изображения, определенный в строке, не извлекается. Я попробовал использовать класс Glide и Picasso в качестве решения, но не смог найти больше решений, поскольку получил ошибку.
ContentDetail. Java
public class ContentDetail extends AppCompatActivity {
ContentDetailBinding makDet;
MakalelerAdapter contentsAdp;
CompositeDisposable compositeDisposable;
Retrofit retrofit;
ArrayList content;
private String BASE_URL = "https://aa.com.tr/";
@Override
protected void onCreate(Bundle savedInstanceState) {
makDet=ContentDetailBinding .inflate(getLayoutInflater());
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
Gson gson = new GsonBuilder().setLenient().create();
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
loadData();
setContentView(makDet.getRoot());
}
private void loadData(){
final Contents contentApi = retrofit.create(Contents.class);
compositeDisposable = new CompositeDisposable();
int getId=getIntent().getIntExtra("content_id",0);
Log.i("id",String.valueOf(getId));
compositeDisposable.add(contentApi.getContent(getId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::handleResponse, Throwable::printStackTrace)
);
}
private void handleResponse(List contentData) {
Log.i("dxx",contentData.get(0).content_image);
if(contentData.isEmpty()){
Snackbar.make(makDet.getRoot(),"İçerik Bulunamadı",Snackbar.LENGTH_LONG).show();
}else{
Log.i("dxx",contentData.get(0).content_image);
ContentsApi content = new ArrayList(contentData).get(0);
TextView info = makDet.detailInfo;
// info.setText(Html.fromHtml(content.content_text,Html.FROM_HTML_MODE_COMPACT));
Spannable html;
/*if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Log.i("Hata bimp","hata2");
html = (Spannable) Html.fromHtml(content.content_text, Html.FROM_HTML_MODE_LEGACY, new PicassoImageGetter(info), null);
} else {
Log.i("hata bimp","hata");
html = (Spannable) Html.fromHtml(content.content_text, new PicassoImageGetter(info), null);
}
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
html = (Spannable) Html.fromHtml(content.content_text, Html.FROM_HTML_MODE_LEGACY, new PicassoImageGetter(info), null);
} else {
html = (Spannable) Html.fromHtml(content.content_text, new PicassoImageGetter(info), null);
}
info.setText(html);
Picasso.get().load(Uri.parse(content.content_image)).fit().into(imageView);
}
}
}
< /code>
picassoimagegetter.java class < /p>
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.text.Html;
import android.util.Log;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.transition.Transition;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Target;
import io.reactivex.annotations.NonNull;
import io.reactivex.annotations.Nullable;
public class PicassoImageGetter implements Html.ImageGetter {
private TextView textView;
public PicassoImageGetter(TextView textView) {
this.textView = textView;
}
public Drawable getDrawable(String source) {
// Use Glide or Picasso to load the WebP image
Glide.with(textView.getContext())
.load(source)
.into(new CustomTarget() {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition
Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-problem
Android Java Restful Api String в IMG -теге не загружает проблему ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1737699076
Anonymous
Привет, я разрабатываю Java-приложение для Android. Я только изучаю Android Java.
Изображение в строковых данных, которые я получаю от API, не загружается. Я использую класс Пикассо для загрузки изображения. Хотя изображение можно загрузить в Imageview, тег изображения, определенный в строке, не извлекается. Я попробовал использовать класс Glide и Picasso в качестве решения, но не смог найти больше решений, поскольку получил ошибку.
ContentDetail. Java
public class ContentDetail extends AppCompatActivity {
ContentDetailBinding makDet;
MakalelerAdapter contentsAdp;
CompositeDisposable compositeDisposable;
Retrofit retrofit;
ArrayList content;
private String BASE_URL = "https://aa.com.tr/";
@Override
protected void onCreate(Bundle savedInstanceState) {
makDet=ContentDetailBinding .inflate(getLayoutInflater());
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
Gson gson = new GsonBuilder().setLenient().create();
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();
loadData();
setContentView(makDet.getRoot());
}
private void loadData(){
final Contents contentApi = retrofit.create(Contents.class);
compositeDisposable = new CompositeDisposable();
int getId=getIntent().getIntExtra("content_id",0);
Log.i("id",String.valueOf(getId));
compositeDisposable.add(contentApi.getContent(getId)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::handleResponse, Throwable::printStackTrace)
);
}
private void handleResponse(List contentData) {
Log.i("dxx",contentData.get(0).content_image);
if(contentData.isEmpty()){
Snackbar.make(makDet.getRoot(),"İçerik Bulunamadı",Snackbar.LENGTH_LONG).show();
}else{
Log.i("dxx",contentData.get(0).content_image);
ContentsApi content = new ArrayList(contentData).get(0);
TextView info = makDet.detailInfo;
// info.setText(Html.fromHtml(content.content_text,Html.FROM_HTML_MODE_COMPACT));
Spannable html;
/*if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Log.i("Hata bimp","hata2");
html = (Spannable) Html.fromHtml(content.content_text, Html.FROM_HTML_MODE_LEGACY, new PicassoImageGetter(info), null);
} else {
Log.i("hata bimp","hata");
html = (Spannable) Html.fromHtml(content.content_text, new PicassoImageGetter(info), null);
}
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
html = (Spannable) Html.fromHtml(content.content_text, Html.FROM_HTML_MODE_LEGACY, new PicassoImageGetter(info), null);
} else {
html = (Spannable) Html.fromHtml(content.content_text, new PicassoImageGetter(info), null);
}
info.setText(html);
Picasso.get().load(Uri.parse(content.content_image)).fit().into(imageView);
}
}
}
< /code>
picassoimagegetter.java class < /p>
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.text.Html;
import android.util.Log;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.transition.Transition;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Target;
import io.reactivex.annotations.NonNull;
import io.reactivex.annotations.Nullable;
public class PicassoImageGetter implements Html.ImageGetter {
private TextView textView;
public PicassoImageGetter(TextView textView) {
this.textView = textView;
}
public Drawable getDrawable(String source) {
// Use Glide or Picasso to load the WebP image
Glide.with(textView.getContext())
.load(source)
.into(new CustomTarget() {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition
Подробнее здесь: [url]https://stackoverflow.com/questions/79375877/android-java-restfull-api-string-in-img-tag-not-loading-problem[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия