簡體   English   中英

在ImageView上設置后獲取drawable的名稱

[英]Get the drawable's name after setting it on ImageView

我實際上是從Drawable文件夾動態地將圖像設置為ImageView。 我得到了動態設置圖像的工作代碼但是我無法獲得此時在圖像視圖上設置的圖像/可繪制的名稱。 要么我應該得到可繪制的名稱或任何代碼來獲取每個drawable的實例與我可以在ImageView上設置的名稱。 任何幫助深表感謝!!

我在StackOverflow上搜索並嘗試了所有答案。

將圖像動態設置為imageview,並獲取該圖像的名稱。

作為一種好的做法,您可以將drawable存儲在變量中並更新imageview。

@DrawableRes int myDrawable;
iv.setImageDrawable(getResources().getDrawable(myDrawable));

設置標簽和從標簽獲取並不是理想的imho,因為它更易於維護和調試。

好。 經過2天的研究和試驗,我終於設法做了我打算做的事情。 這是我的代碼,如果有人從中得到幫助。

ArrayList<Integer> array_fruits = new ArrayList<Integer>();
    int fruit_apricot = R.drawable.fruits_apricot;
    int fruit_apple = R.drawable.fruits_apple;
    int fruit_banana = R.drawable.fruits_banana;

.... 和更多

array_fruits.add(fruit_apple);
        array_fruits.add(fruit_apricot);
        array_fruits.add(fruit_banana);

... 和更多

//工作代碼生成30和1之間的數字(arraylist中為0到29)

Random rand = new Random();
                    int num = rand.nextInt(30) + 1;
                    array_fruits.add(num);
                    itemImg.setImageDrawable(getResources().getDrawable(array_fruits.get(num)));
                    Log.e("num: ", num+"");
                    Toast.makeText(getApplicationContext(), num+"", Toast.LENGTH_LONG).show();

我曾經嘗試過在stackoverflow和其他網站上提供的幾乎所有解決方案。

暫無
暫無

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

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