如何在安卓设备上将RGB颜色转换为十六进制颜色?

3

如何将ARGB(255 0 255 0)颜色转换为HEXADECIMAL颜色。我在数据库中有ARGB颜色,并使用JSON格式的Web服务检索。


我想将颜色放入文本字段TAG_DIFF_P(R.id.l7)

这是我的代码,如何在文本字段的背景中添加颜色

try {

        JSONObject json1 = jParser.getJSONFromUrl(myUrl);
        // Getting Array of Contacts
        JSONArray list = json1.getJSONArray(TAG_JSONDataResult);


        // looping through All Contacts
        for(int i = 0; i < list.length(); i++){
            JSONObject c = list.getJSONObject(i);


            String GRPNAME = c.getString(TAG_GRPNAME);
            String QTY = c.getString(TAG_QNT);
            String BUDGET = c.getString(TAG_BUDGET);
            String STOCK = c.getString(TAG_STOCK);
            String DIFF = c.getString(TAG_DIFF);
            String DIFF_P = c.getString(TAG_DIFF_P);                
            String COLOR = c.getString(TAG_COLOR);


            // creating new HashMap
            HashMap<String, String> map = new HashMap<String, String>();

            // adding each child node to HashMap key => value

            map.put(TAG_GRPNAME, GRPNAME);
            map.put(TAG_QNT, QTY);
            map.put(TAG_BUDGET, BUDGET);
            map.put(TAG_STOCK, STOCK);
            map.put(TAG_DIFF, DIFF);
            map.put(TAG_DIFF_P, DIFF_P);


            // adding HashList to ArrayList
            contactList.add(map);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
    /**
     * Updating parsed JSON data into ListView
     * */
     ListAdapter adapter = new SimpleAdapter(this, contactList,
            R.layout.list_item,
            new String[] {  TAG_GRPNAME, TAG_QNT, TAG_BUDGET, TAG_STOCK, TAG_DIFF, TAG_DIFF_P, },
            new int[] {
                     R.id.l2, R.id.l3, R.id.l4, R.id.l5, R.id.l6, R.id.l7});



            lv2.setAdapter(adapter);



}

请问您能否参考以下链接: http://stackoverflow.com/questions/8633214/how-to-convert-rgb-value-to-hexadecimal-value-with-alpha-like-0xffffffff - Veera
@Veera,我该怎么办?它是从数据库中获取的,并且我给字符串变量打了标记,我要如何拆分它? - ibu
2个回答

7

我认为你的json应该将它作为字符串。如果是这样,你可以尝试这个方法:

String hex = String.format("#%02x%02x%02x", r, g,b);

但是这会导致我的应用程序崩溃,因为格式%02x无法识别。 - Vikky

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接