有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java安卓按钮监听器实现

嘿,伙计们,我是Android开发的新手,对于一个项目,我必须为一个按钮实现一个监听器。 但不幸的是,我想他没能发现这个按钮。 以下是java代码:

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
    安卓:layout_width="wrap_content"
    安卓:layout_height="wrap_content"
    安卓:text="appuyez ici pour compter votre nombre de touch"
    安卓:id="@+id/Compteur"
    安卓:height="130dp"
    安卓:textColor="#1818e3"
    安卓:textColorHighlight="#cd5555"
    安卓:textSize="22dp"
    安卓:textStyle="italic"
    安卓:layout_marginTop="150dp"
    安卓:layout_alignParentStart="true" />

谢谢你的回答:)


共 (2) 个答案

  1. # 1 楼答案

    删除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

  2. # 2 楼答案

    我将使用一些视觉帮助来回答您的问题,并确定为什么不工作。。。 请看下图并注意:

    1. 你需要为你的活动设置一个布局,这与按钮不同
    2. 您需要在布局中找到按钮,即根据您在xml文件中使用的id进行odne,它与布局不同
    3. 你需要设置rigth listener来获取onclick,android有OnClickListener接口
    4. 括号之间的单词button是一个casting(安卓会尝试将某些内容转换为类,因此类是class按钮,而不是变量的名称)
    5. 在onClick中编写的所有代码都是按下按钮后将执行的代码

    enter image description here


    结论

    将图像作为参考,并在代码中实现它