簡體   English   中英

在ImageView中更改圖像

[英]Change image in ImageView

在list_item.xml文件中,我有一個ImageView和一個TextView。 ImageView的代碼為

 <ImageView
    android:id="@+id/play"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/play"/>

在主要活動(main_activity.java與具有一個ListView的activity_main.xml連接)中,當用戶從setAdapter設置的列表中單擊音樂(onItemClick)時,音樂播放良好。 現在,當音樂開始播放時,我想更改此ImageView的圖像。 所以我插入了如下代碼:

View inflatedView = getLayoutInflater().inflate(R.layout.list_item, null);
ImageView imgchange = (ImageView)inflatedView.findViewById(R.id.play);
imgchange.setImageResource(R.drawable.pause);

但這是行不通的。 我也試過

android:src="@drawable/imagename"

我也試過

imgchange.setBackgroundResource(R.drawable.pause);

尋找有價值的建議,如我該怎么做或錯誤在哪里?

過去我也遇到過類似的問題,這是由於布局本身沒有更新引起的。 更改圖像后嘗試刷新視圖的布局,如此處所述android以編程方式重新繪制布局

我將使用新的ContextCompat而不是setBackgroundResource() ,如下所示:

imageView.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.pause));

您可以將Activity作為Context傳遞。 如果那不起作用,您也可以嘗試使視圖無效,這將強制重畫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM