Загрузка изображений с помощью Picasso в двух фрагментах, содержащихся в одном контейнере деятельности - PullRequest
0 голосов
/ 19 марта 2020

У меня есть активность, которая содержит 2 фрагмента. оба используют Recyclerview с TextView и ImageVIew, также оба адаптера используют Picasso для загрузки изображений. как на изображении

Первый фрагмент занимает 1/3 экрана, а остальное занято вторым фрагментом. Изображения успешно загружены на первый фрагмент. но второй не показывает никаких изображений. зная, что оба фрагмента изображения должны быть загружены одновременно. Другая проблема заключается в том, что, когда я нажимаю кнопку возврата. это действие открывается снова. Мне нужно нажать его дважды, чтобы go вернуться к предыдущему. это потому что есть 2 фрагмента! ?? поэтому для перехода к предыдущему требуется два нажатия! Я попытался переопределить onBackPressed от действия контейнера, добавив fini sh (); но проблема остается.

enter image description here

Код: Контейнер активности для проблемы с отжимом назад

public class ContainerActivity extends AppCompatActivity {

public static final String SUB_CATE_ID = "com.market.android.markets.activities.SUB_CATE_ITEMS";
public static final String SUB_CATE_PARENT_ID = "com.market.android.markets.activities.SUB_CATE_PARENT_ID";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_contianer);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    Intent intent = getIntent();
    SubCategoryFragment fragment = SubCategoryFragment.getInstance(intent.getStringExtra(ID_TAG), intent.getStringExtra(PARENT_ID_TAG));
    getSupportFragmentManager().beginTransaction().replace(R.id.sub_cat, fragment).commit();

    ProductsFragment productsFragment = ProductsFragment.getInstance("", "");
    getSupportFragmentManager().beginTransaction().replace(R.id.products, productsFragment).commit();

}

Адаптер продукта для проблема с изображениями

 @Override
public void onBindViewHolder(@NonNull ProductViewHolder holder, int position) {
    Product product = products.get(position);
    Picasso.get().load(product.getImageURL()).fit().centerInside().into(holder.productImageView);
    holder.productNameTextView.setText(product.getTittle());
    holder.productPriceTextView.setText(String.valueOf(product.getPrice()));
}

другой фрагмент имеет тот же код в onBindViewHolder.

...