2 momo1199 Momo1199 于 2012.11.01 11:44 提问

修改Toast中的Listview位置

代码中,点击第一项的时候显示位置0,我要它显示位置1.

ListView myListView = (ListView) findViewById(R.id.myListView);
    final EditText myEditText = (EditText) findViewById(R.id.myEditText);

    final ArrayList<String> todoItem = new ArrayList<String>();
    final ArrayAdapter<String> aa;
    aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, todoItem);
    myListView.setAdapter(aa);

    myEditText.setOnKeyListener(new OnKeyListener() {

        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if(event.getAction() == KeyEvent.ACTION_DOWN)
                if((keyCode == KeyEvent.KEYCODE_DPAD_CENTER) || keyCode == KeyEvent.KEYCODE_ENTER){
                    todoItem.add(0, myEditText.getText().toString());
                    aa.notifyDataSetChanged();
                    myEditText.setText("");
                    return true;
                }
            return false;
        }
    });

    myListView.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                long arg3) {
            Toast.makeText(getApplicationContext(), "this is to do list " + position, Toast.LENGTH_SHORT).show();
        }
    });

谢谢~

2个回答

MrsSeven7
MrsSeven7   2012.11.01 13:54
已采纳

由于是适配器中的位置是从0开始的,所以在Toaster中添加1。

myListView.setOnItemClickListener(new OnItemClickListener() {

    public void onItemClick(AdapterView<?> arg0, View arg1, int position,
            long arg3) {
        Toast.makeText(getApplicationContext(), "this is to do list " + (position+1), Toast.LENGTH_SHORT).show();
    }
});
Momo1199
Momo1199 同样感谢~
5 年多之前 回复
huweilong1030
huweilong1030   2012.11.01 13:55

ListView的索引是从0开始的,按照你的理解是,点击索引0,但显示的Toast提示是“位置1”

如果是这样的话,在Toast的时候把position+1就行了

Toast.makeText(getApplicationContext(), "this is to do list " + (position + 1), Toast.LENGTH_SHORT).show();

Momo1199
Momo1199 支持+1
5 年多之前 回复
Momo1199
Momo1199 (⊙o⊙),很厉害,谢谢
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!