Android Button监听器实现
嘿家伙我是Android的开发新手和项目,我必须实现一个按钮的监听器。 但不幸的是,他无法检测到我认为的按钮。 这里是Java代码:Android Button监听器实现
public class Touch extends AppCompatActivity implements OnTouchListener,OnClickListener {
private button boutonCompteur = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.id.Compteur);
boutonCompteur = (button) findViewById(R.id.Compteur);
boutonCompteur.setOnTouchListener(this);
boutonCompteur.setOnClickListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event)
{
return true;
} }
这里是XML:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="appuyez ici pour compter votre nombre de touch"
android:id="@+id/Compteur"
android:height="130dp"
android:textColor="#1818e3"
android:textColorHighlight="#cd5555"
android:textSize="22dp"
android:textStyle="italic"
android:layout_marginTop="150dp"
android:layout_alignParentStart="true" />
谢谢您的回答:)
我将用一些视觉上的帮助回答你的问题,并确定为什么不工作 ... 看看下面并注意形象:
- 你需要一个布局来活动和这是不一样的按钮
- 你需要找到布局中的按钮,这是由你在xml文件中使用的id odne,并且不是相同的布局!
- 您需要设置分辩监听得到的onclick,Android已经为括号之间的OnClickListener接口
- 字按钮是一个铸件,(Android将尝试的东西转化为一类,因此类是类按钮,而不是变量的名称)
- 您在onClick中编写的所有代码是按下按钮后将执行的代码。
结论
以图像为参考,并在代码中实现它。
感谢您的回答,这真的很有帮助,我学到的东西感谢你:) – Matnako
删除onTouch
,只能使用onClick
。
删除此行
boutonCompteur.setOnTouchListener(this);
,改变public boolean onTouch(View v, MotionEvent event)
到
public void onClick(View v) {
// Do whatever you want
}
,改变private button boutonCompteur = null;
到private Button boutonCompteur;
。 (我不认为在做按钮声明时你需要添加=null
)。
谢谢你的回答。我没有阅读整个安卓课程,所以我不知道我只需要onClick。无论如何,再次感谢这么快的答案:D – Matnako
您不需要将onTouch和onClick都添加到按钮。只是使用onClick –
试试这个:http://stackoverflow.com/questions/25803727/android-setonclicklistener-method-how-does-it-work(setOnClickListner);或从官方文档:http://developer.android.com/reference/android/widget/Button.html – KickingLettuce
感谢您的答案,这真的很有帮助!我学到的东西感谢你们:) – Matnako