首页 > 解决方案 > 自动为列表视图生成项目

问题描述

我有一个列表视图,它在列表中显示 arrays.xml 中的数组。问题是,我希望它自动从 int 创建项目,而不是从 xml 中读取它。例如,如果 int 为 10,那么它应该创建 10 个列表项——第 1 章、第 2 章、... 第 10 章。

 list1 = (ListView) findViewById(R.id.ListView01);
    array = getResources().getStringArray(R.array.myArray);
    adapter = new ArrayAdapter<String>(this, R.layout.listview_row_customizations, getResources().getStringArray(R.array.myArray));
    list1.setAdapter(adapter);
    inputSearch.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
            // When user changed the Text
            AudioBible.this.adapter.getFilter().filter(cs);
        }

        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
            // TODO Auto-generated method stub
        }

        @Override
        public void afterTextChanged(Editable arg0) {
            // TODO Auto-generated method stub                          
        }
    });

    list1.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            String productName = adapter.getItem(position);
            for (int i = 0; i < array.length; i++) {
                String product = array[i];
                if (product.equals(productName)) {
                    Intent myIntent = new Intent(AudioBible.this, TTS.class);
                    myIntent.putExtra("key", i);
                    startActivity(myIntent);
                    break;
                }
            }
        }
    });

标签: androidlistview

解决方案


然后你应该手动填充列表。

int count = x;

String[] array = new String[count];

for(int i = 0; i < count; i++){
   array[i] = ("Chapter " + (i + 1));
}

推荐阅读