使用的android XML阵列资源 [英] android using xml array resources

查看:128
本文介绍了使用的android XML阵列资源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨我在android系统的编程是新的,有一个小问题
我想创建一个带有的ImageView和一个TextView一个ListView。这code工作,但实际上我想用我之前创建这样的数组:

INT [] = IMG getResources()getIntArray(R.Array.img)。

包com.simplelistviewwithlistactivity;进口android.app.AlertDialog;
进口android.app.AlertDialog.Builder;
进口android.app.ListActivity;
进口android.os.Bundle;
进口android.view.Menu;
进口android.view.View;
进口android.widget.ListView;公共类ListActivityS扩展ListActivity {
    INT [] = IMG {R.drawable.r1,R.drawable.r2,R.drawable.skycubemap1,
            R.drawable.skycubemap1,R.drawable.skycubemap2,
            R.drawable.skycubemap3,R.drawable.skycubemap4,
            R.drawable.skycubemap5};    @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        getListView()setDividerHeight(2)。
        getListView()setAdapter(新BindDataAdapter(这一点,IMG,项目))。
    }    @覆盖
    保护无效onListItemClick(ListView中升,视图V,INT位置,长的id){
        super.onListItemClick(L,V,位置ID);
        建设者建设者=新AlertDialog.Builder(本);
        builder.setMessage(项目[位置] +点击);
        builder.setPositiveButton(OK,NULL);
        builder.show();
    }    @覆盖
    公共布尔onCreateOptionsMenu(菜单菜单){
        。getMenuInflater()膨胀(R.menu.activity_list,菜单);
        返回true;
    }    私人字符串项[] = {这是清单项目1,这是清单项目2
            这是清单项目3,这是清单ITEM4,这是清单ITEM5
            这是清单ITEM6,这是清单Item8,这是清单Item8


解决方案

创建XML像下面,并把它在res /价值/ arrays.xml

 <?XML版本=1.0编码=UTF-8&GT?;
<资源>
    <数组名称=图标>
        <项目> @绘制/家居与LT; /项目>
        <项目> @绘制/设置< /项目>
        <项目> @绘制/注销< /项目>
    < /阵列>
    <数组名=颜色>
        <项目>#FFFF0000< /项目>
        <项目>#FF00FF00< /项目>
        <项目>#FF0000FF< /项目>
    < /阵列>
< /资源>

然后使用code是这样的:

资源解析度= getResources();
TypedArray图标= res.obtainTypedArray(R.array.icons);
可绘制可绘制= icons.getDrawable(0);TypedArray颜色= res.obtainTypedArray(R.array.colors);
INT颜色= colors.getColor(0,0);

来源:<一个href=\"http://developer.android.com/guide/topics/resources/more-resources.html\">http://developer.android.com/guide/topics/resources/more-resources.html

Hey guys i am new in android programming and have a little problem i want to create a listView with an ImageView and a TextView. This code works, but actually i wanted to use arrays which I created before like this:

int[] img = getResources().getIntArray(R.Array.img);

package com.simplelistviewwithlistactivity;

import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.ListView;

public class ListActivityS extends ListActivity {
    int[] img = { R.drawable.r1, R.drawable.r2, R.drawable.skycubemap1,
            R.drawable.skycubemap1, R.drawable.skycubemap2,
            R.drawable.skycubemap3, R.drawable.skycubemap4,
            R.drawable.skycubemap5 };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getListView().setDividerHeight(2);
        getListView().setAdapter(new BindDataAdapter(this, img, item));
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        Builder builder = new AlertDialog.Builder(this);
        builder.setMessage(item[position] + " is clicked.");
        builder.setPositiveButton("OK", null);
        builder.show();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_list, menu);
        return true;
    }

    private String item[] = { "This is list Item1", "This is list Item2",
            "This is list Item3", "This is list Item4", "This is list Item5",
            "This is list Item6", "This is list Item8", "This is list Item8"

解决方案

Create an XML like below and put it in res/values/arrays.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array name="icons">
        <item>@drawable/home</item>
        <item>@drawable/settings</item>
        <item>@drawable/logout</item>
    </array>
    <array name="colors">
        <item>#FFFF0000</item>
        <item>#FF00FF00</item>
        <item>#FF0000FF</item>
    </array>
</resources>

Then use code like this:

Resources res = getResources();
TypedArray icons = res.obtainTypedArray(R.array.icons);
Drawable drawable = icons.getDrawable(0);

TypedArray colors = res.obtainTypedArray(R.array.colors);
int color = colors.getColor(0,0);

Source: http://developer.android.com/guide/topics/resources/more-resources.html

这篇关于使用的android XML阵列资源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆