【问题标题】:Error in setOnClickListenersetOnClickListener 中的错误
【发布时间】:2016-05-26 16:05:42
【问题描述】:

我是 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!");
                    }
                }
        );

【问题讨论】:

标签: android


【解决方案1】:

你必须使用视图

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,以供参考

【讨论】:

    【解决方案3】:

    当您想在Button 中提供点击侦听器时,您应该像以前一样使用setOnClickListener,但参数必须是Button.OnClickListener() 的实例,因此您必须使用new 来创建该实例.因为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!");
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-02
      • 2013-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多