2014-05-06 86 views
0

假设我在布局中有两个视图 - 一个Button和一个TextView。在对话框中按下按钮时更改对话框上的视图

是否可以更改单击侦听器上的按钮内的TextView文本。

是这样的:

button.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      textview.settext("changedText"); 
     } 
    }); 

明显的错误是TextView中不被OnClickListener法确认,并使其最终将使其无法改变。

+0

你必须在类级别,使申报的TextView的变量将是全局的 – kumar

回答

0

您正在制作最终的textView,因此您无法将此引用分配给另一个对象 ,但您可以对该对象执行任何操作。

您可以更改textview thanx的任何属性。

0

使textview最终仍将允许您设置文本。 只能分配一次。

0

最终的属性只是限制他的初始化一次。之后你可以访问是方法。 (如果这就是你所需要的)

你也可以在你的班级中创建一个字段,它将在侦听器中可用。喜欢的东西:

private TextView textview; 
0

提供一些ID在布局中的TextView, 创建新变量的TextView TV =新的TextView();在创建对话的同一活动中

tv =(TextView)findviewbyid(R.id.ID_OF_TEXT_VIEW);

那么你应该能够在类级别使用tv.settext(“修改文本。”)

0

TextView的声明如下

Class CLASSNAME{ 

public TextView textview; 

//your onclickListener code inside method or wherever u have written 
} 
相关问题