java - onClickListener 麻烦
问题描述
因此,我正在手机上使用 Android AIDE 学习和开发一个非常小的应用程序,我的代码如下:
package com.mycompany.myapp;
import android.app.*;
import android.os.*;
import android.widget.EditText;
import android.widget.Button;
import android.widget.Toast;
import android.view.View;
public class MainActivity extends Activity {
EditText edit1;
Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
edit1 = (EditText) findViewById(R.id.edit1);
btn1 = (Button) findViewById(R.id.btn1);
btn1.setOnClickListener(this);
//Problem (this) from AIDE error info: Method
'android.view.View.setOnClickListener(android.view.View.OnClickListener)' in 'android.widget.Button' can not be applied to '(com.mycompany.myapp.MainActivity)'//
}
public void OnClick(View v) {
switch (v.getId()){
case R.id.btn1:
Toast.makeText(getApplicationContext(),edit1.getText().toString(),Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
问题是什么?
解决方案
您的活动必须实现 View.OnClickListener 接口
public class MainActivity extends Activity implements View.OnClickListener {
@Override
public void onClick(View view) {}
}
推荐阅读
- python-3.x - 如何根据数组的密度对数组进行二次采样?(去除频繁值,保留稀有值)
- python - Python re.findall() 不适用于可选匹配(使用问号)
- asp.net-mvc - 如何使用 OAuth2/OpenIdConnect 实现“代理”
- python - botocore.errorfactory.InvalidS3ObjectException:
- javascript - Is it possible to enque commits to send in batch insted of one by one in vuex?
- node.js - 如何在 couchdb 中创建数据库
- html - 在 Orchard CMS 的 EditorTemplate 中渲染 PartialView
- matrix - Create Matrix from tdbc::odbc $resultset allrows -as lists
- javascript - React how to highlight multiple components by using 1 ref
- c# - dotnetzip 创建空的损坏文件