onItemClick()的问题

时间:2011-08-30 20:05:15

标签: android listview

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listascombarra);
    listView = (ListView)findViewById(android.R.id.list);
    listView.setTextFilterEnabled(true);

    listView.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {

            COUNTRIES[it]="TESTES";
            it++;
        }
    });
}

protected void onStart() {
    super.onStart();
    adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, COUNTRIES);
    listView.setAdapter(adapter);
}

所以我遇到了这个事件的问题,因为当我点击ItemList时,字符串COUNTRIES不会修改,但如果我向下滚动它有时会被修改。很奇怪,有些帮助吗?

查看pastebin url:

http://pastebin.com/DsYP2RkX

3 个答案:

答案 0 :(得分:0)

您将String []标记为“最终”,这意味着它永远不会改变。删除“最终”

答案 1 :(得分:0)

我认为您可能希望使用onListItemClick代替onItemClick

答案 2 :(得分:0)

您正在更改作为适配器一部分的字符串数组,但您需要通知字符串数组已更改的列表视图(使用适配器构建)。

您可以通过以下方式执行此操作:

notifyDataSetChanged

ArrayAdapter类的功能。因此,在您的on click函数中,调用notifyDataSetChanged并查看是否有帮助。