我是Android新手,我正在尝试通过单击按钮更改文本但我在第三行收到错误“无法解析setOnClickListener”。我可以解决此问题吗?
Button b=(Button)findViewById(R.id.button);
b.setOnClickListener(
new Button.setOnClickListener(){ //error in this line
public void onclick(View v){
TextView t=(TextView)findViewById(R.id.textView2);
t.setText("text changed!");
}
}
);
答案 0 :(得分:4)
您必须使用View
Button b=(Button)findViewById(R.id.button);
b.setOnClickListener(View.OnClickListener() {
@Override
public void onClick(View v) {
TextView t=(TextView)findViewById(R.id.textView2);
t.setText("text changed!");
}
});
答案 1 :(得分:2)
你可以尝试:
TextView t;
Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.yourlayout);
t=(TextView)findViewById(R.id.textView2);
b=(Button)findViewById(R.id.button);
b.setOnClickListener(View.OnClickListener() {
@Override
public void onClick(View v) {
t.setText("text changed!");
}
});
}
您也可以发布Xml
,以供参考
答案 2 :(得分:2)
如果要在setOnClickListener
中搜索单击侦听器,则应使用Button.OnClickListener()
,但参数必须是new
的实例,因此必须使用{ {1}}创建该实例。 Beacuase Button.OnClickListener
是interface
,您还必须像您一样实施public void onClick(View v)
。
请试试这个:
Button b=(Button)findViewById(R.id.button);
b.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
TextView t=(TextView)findViewById(R.id.textView2);
t.setText("text changed!");
}
});