【问题标题】:I can't call setOnClickListener我不能调用 setOnClickListener
【发布时间】:2015-11-05 08:37:56
【问题描述】:

你好, 当我尝试在按钮上使用 setOnClickListener 时,它根本没有出现。

我使用的是 Android Studio 1.4.1

【问题讨论】:

  • 请在您的问题中提供代码,而不是提供它的图像。
  • 您在 onCreate 方法之外使用它。你必须把它放在里面。
  • 这样做...@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new OnClickListener() { public void onClick(View v) { .... } }); }
  • 谢谢。它的工作原理

标签: java android mobile android-studio


【解决方案1】:

在里面写代码

onCreate()

方法。定义侦听器需要上下文。

【讨论】:

  • 谢谢。它有效
  • @MojahedAlarour 根据我们的 SO 规则。如果有效,您必须接受答案
【解决方案2】:

将您的代码移动到ònCreate() 方法中

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);

    Button moveToEnglish = (Button)findViewById(R.id.Englishbutton);
    moveToEnglish.setOnClickListener(...);
}

【讨论】:

    【解决方案3】:

    你不能在onCreate()之外打电话给setOnClickListener

    所以在 onCreate() 的方法中移动你的按钮声明

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
    
        Button moveToEnglish = (Button)findViewById(R.id.Englishbutton);
        moveToEnglish.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
        }
     });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多