问题描述
- 新手学android,监听两个按钮的问题,出现错误
-
package com.example.xingpengfei.guessnumber;import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import java.util.Random;
public class MainActivity extends AppCompatActivity {
private int number; private Button button1; private Button button2; private EditText editText; private void testRandom() { Random random=new Random(); number=random.nextInt(100); } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); testRandom(); button1=(Button)findViewById(R.id.button1); button2=(Button)findViewById(R.id.button2); editText=(EditText)findViewById(R.id.edit_text); button1.setOnClickListener(this); button2.setOnClickListener(this); } public void onClick(View v) { switch (v.getId()){ case R.id.button1: //String input=editText.getText().toString(); int input=0; if(input==number) Toast.makeText(MainActivity.this,"恭喜你猜对了!",Toast.LENGTH_SHORT).show(); else if(input>number) Toast.makeText(MainActivity.this,"您猜的数字偏大!",Toast.LENGTH_SHORT).show(); else Toast.makeText(MainActivity.this,"您猜的数字偏小!",Toast.LENGTH_SHORT).show(); break; case R.id.button2: testRandom(); break; default: break; } }
}
这是完整代码
在 button1.setOnClickListener(this);
button2.setOnClickListener(this);
这里的this报错,请指教该如何改?
解决方案
你的类没有实现View.OnClickListener接口,所以报错
public class MainActivity extends AppCompatActivity { 改成 :
public class MainActivity extends AppCompatActivity implements View.OnClickListener { 试一下
解决方案二:
button1.setOnClickListener(this);里的参数类型是View.OnClickListener,你要传this给他,你的activity就要implements View.OnClickListener才行
解决方案三:
public class MainActivity extends AppCompatActivity 改为
public class MainActivity extends AppCompatActivity implements View.OnClickListener
解决方案四:
Android中一个Activity两个ListView的显示错误问题
解决方案五:
谢谢,解决了public class MainActivity extends AppCompatActivity 改为
public class MainActivity extends AppCompatActivity implements View.OnClickListener