【问题标题】:Populate a Listview from a String-Array从字符串数组填充 Listview
【发布时间】:2013-06-06 17:23:39
【问题描述】:

我有一个 ListView,我通过 String tutorialTitle1 = getResources().getString(R.string.tutorial1_title); 填写它,但为了我的应用程序的目的和功能,我别无选择,只能使用 String-Array

我从来没有使用过String-Array,我想要一些帮助来实现我的ListView 中的每个项目。目前我正在这样做

public class tutorialActivity extends Activity{
    String[] values; 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tutorial);
        registerClickCallBack();
        ListView listView = (ListView) findViewById(R.id.tutorialList);

        String tutorialTitle1 = getResources().getString(R.string.tutorial1_title);
        String tutorialTitle2 = getResources().getString(R.string.tutorial2_title);
        String tutorialTitle3 = getResources().getString(R.string.tutorial3_title);
        String tutorialTitle4 = getResources().getString(R.string.tutorial4_title);
        String tutorialTitle5 = getResources().getString(R.string.tutorial5_title);
        String tutorialTitle6 = getResources().getString(R.string.tutorial6_title);
        String tutorialTitle7 = getResources().getString(R.string.tutorial7_title);
        String tutorialTitle8 = getResources().getString(R.string.tutorial8_title);
        String tutorialTitle9 = getResources().getString(R.string.tutorial9_title);
        String tutorialTitle10 = getResources().getString(R.string.tutorial10_title);
        String tutorialTitle11 = getResources().getString(R.string.tutorial11_title);
        String tutorialTitle12 = getResources().getString(R.string.tutorial12_title);
        String tutorialTitle13 = getResources().getString(R.string.tutorial13_title);
        String tutorialTitle14 = getResources().getString(R.string.tutorial14_title);

        values= new String[] { tutorialTitle1, tutorialTitle2, tutorialTitle3, tutorialTitle4, tutorialTitle5, tutorialTitle6, tutorialTitle7, tutorialTitle8, tutorialTitle9, tutorialTitle10, tutorialTitle11, tutorialTitle12, tutorialTitle13, tutorialTitle14};

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
        listView.setAdapter(adapter);


    }

    private void registerClickCallBack() {
        ListView list = (ListView) findViewById(R.id.tutorialList);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View viewClicked,int position, long id) {

                Intent i = new Intent(viewClicked.getContext(), tutorialContentActivity.class);
                i.putExtra("tutorialNumber", position);
                startActivity(i);
            }
        });
    }
}

但是现在R.string.tutorial1_title 已经不存在了,因为我已经把它写成这样了

<string-array name="tutorialTitle">
    <item>Tutorial Content</item>
    <item>Tutorial Content</item>
    <item>Tutorial Content</item>
    <item>Tutorial Content</item>
    <item>Tutorial Content</item>
    <item>Tutorial Content</item>
    <item>Tutorial Content</item>
    <item>Tutorial Content</item>
    <item>Tutorial Content</item>
</string-array>

所以基本上我怎样才能用我在&lt;string-array name="tutorialTitle"&gt; 中的所有项目填充我的列表视图

【问题讨论】:

    标签: android android-listview populate arrays


    【解决方案1】:

    调用getResources().getStringArray(R.array.tutorialTitle) 以检索与您的string-array 资源关联的String[]

    【讨论】:

    • 请注意,您也可以设置android:entries="@array/tutorialTitle"
    猜你喜欢
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多