【问题标题】:Changing TextView text from dialog in android从android中的对话框更改TextView文本
【发布时间】:2015-07-05 16:36:19
【问题描述】:

我有一个 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 的文本正在内部更改,但未显示。 (TextViewmText 具有新值,但在 UI 中仍显示旧值。

【问题讨论】:

  • 可能是最终声明.. 尝试在外部将其定义为没有最终声明的全局变量.. private TextView textviewTitle;然后在您的 OnClicklistener 中: textviewTitle = (TextView)view.findViewById(R.id.textTitle);
  • @Wicked161089:不工作。
  • 您是否尝试过如下所述在 OnClick 方法中的 setText() 之后调用 Adapter.notifyDataSetChanged()?
  • 执行此操作:您将拥有字符串数组,编辑项目后,更改数组中的项目文本,然后使用 notifyDataSetChanged()。

标签: android android-listview textview


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多