从android中的对话框更改TextView文本

时间:2015-04-27 09:39:59

标签: android android-listview textview

我有ListView个项目(每个项目都有Button要编辑,TextView显示标题。我已经实现了自定义适配器来显示这种结构。

点击编辑按钮,我会显示一个带有EditText和确定按钮的对话框。用户可以在EditText中输入所需的名称,该文字应更改ListView中的标题。

我的代码示例是,

mListViewItemsAccCat.setOnItemClickListener(new AdapterView.OnItemClickListener() 
{
    final TextView textviewTitle = (TextView)view.findViewById(R.id.textTitle);

    Button objButtonEdit = (Button) view.findViewById(R.id.btnEdit);
        objButtonEdit.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {   
            // here displaying dialog and imageButton is OK button
            final EditText editTextTitle = (EditText) dialogEdit.findViewById(R.id.etTitle);
            ImageButton imageButtonOK = (ImageButton) dialogEdit.findViewById(R.id.btnOK);
            imageButtonOK.setOnClickListener(new View.OnClickListener() {

            @Override
                public void onClick(View v) {
                String strNewTitle = editTextTitle.getText().toString().trim();
                textviewTitle.setText(strNewTitle);
                }
            });
        }
    });
});

此处ListView项的文字应更改为strNewTitle。但它并没有改变。哪里出错了?

更新:我检查了调试。 TextView的内容正在内部更改,但未显示。 (mText的{​​{1}}包含新值,但在用户界面中,它仍显示旧值。

1 个答案:

答案 0 :(得分:0)

您是否在adapter.getView函数中使用了convertView?你的getView函数中的代码是什么?在imageButtonOK的onClickListener中,您应该更改模型中的数据,然后调用adapter.notifyDataChanged()函数,而不是直接更改TextView的内容。