Java Android onClickListener没有注册点击(我想)

Java Android onClickListener没有注册点击(我想),java,android,Java,Android,我想写一个非常基本的纸牌游戏。我已经设置了按钮,允许玩家与卡片交互。我在每个按钮上都设置了侦听器,但目前我只使用其中一个按钮来解决这个问题。我已经设置了onClick()方法,并在按钮上设置了侦听器,但是当我单击按钮时,什么都没有发生。我将尝试提取相关代码 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R

我想写一个非常基本的纸牌游戏。我已经设置了按钮,允许玩家与卡片交互。我在每个按钮上都设置了侦听器,但目前我只使用其中一个按钮来解决这个问题。我已经设置了onClick()方法,并在按钮上设置了侦听器,但是当我单击按钮时,什么都没有发生。我将尝试提取相关代码

    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.game);
      playableImage = (ImageView) this.findViewById(R.id.playableStack);
      deckButton = (Button) this.findViewById(R.id.deckButton);
      deckButton.setOnClickListener(this);

          @Override
    public void onClick(View v) {
      switch (v.getId()) {
        case R.id.deckButton:
            System.out.println(playableCards);
            dealCardsToPlayableStack();
            System.out.println(playableCards);  
            playableImage.setImageResource(getCardImageId(playableCards.peekTopCard()));
            playableImage.invalidate();
            break;
        default:
            break;
    }

}
根据要求,下面是活动的xml布局

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_height="match_parent" android:layout_width="match_parent"
      android:background="@drawable/background" android:baselineAligned="true"
      android:orientation="vertical" android:weightSum="1">
      <RelativeLayout android:id="@+id/relativeLayout1"
        android:layout_width="match_parent" android:layout_height="match_parent">
        <LinearLayout android:id="@+id/linearLayout1"
        android:layout_height="wrap_content" android:layout_width="wrap_content"
        android:layout_alignParentTop="true" android:layout_alignParentLeft="true">
        <ImageView android:src="@drawable/cardback"
            android:layout_width="50dp" android:layout_height="62.5dp"
            android:padding="2.5dp" android:id="@+id/deckImage" />
        <ImageView android:src="@drawable/cardtemplate"
            android:layout_width="50dp" android:layout_height="62.5dp"
            android:padding="2.5dp" android:id="@+id/playableStack" />
        <ImageView android:src="@drawable/cardback"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/spadesStack"></ImageView>
        <ImageView android:src="@drawable/cardback"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/diamondsStack"></ImageView>
        <ImageView android:src="@drawable/cardback"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/clubsStack"></ImageView>
        <ImageView android:src="@drawable/cardback"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/heartsStack"></ImageView>
    </LinearLayout>
    <LinearLayout android:id="@+id/linearLayout2"
        android:layout_height="wrap_content" android:layout_width="wrap_content"
        android:layout_below="@+id/linearLayout1" android:layout_alignLeft="@+id/linearLayout1">
        <ImageView android:src="@drawable/cardtemplate"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/stack1"
            android:layout_weight="1"></ImageView>
        <ImageView android:src="@drawable/cardtemplate"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/stack2"
            android:layout_weight="1"></ImageView>
        <ImageView android:src="@drawable/cardtemplate"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/stack3"
            android:layout_weight="1"></ImageView>
        <ImageView android:src="@drawable/cardtemplate"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/stack4"
            android:layout_weight="1"></ImageView>
        <ImageView android:src="@drawable/cardtemplate"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/stack5"
            android:layout_weight="1"></ImageView>
        <ImageView android:src="@drawable/cardtemplate"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/stack6"
            android:layout_weight="1"></ImageView>
        <ImageView android:src="@drawable/cardtemplate"
            android:layout_height="62.5dp" android:layout_width="50dp"
            android:padding="2.5dp" android:id="@+id/stack7"
            android:layout_weight="1"></ImageView>
    </LinearLayout>
    <LinearLayout android:id="@+id/linearLayout3"
        android:layout_height="wrap_content" android:layout_width="wrap_content"
        android:layout_below="@+id/linearLayout2" android:layout_alignLeft="@+id/linearLayout2"
        android:orientation="horizontal">
        <Button android:layout_height="wrap_content"
            android:layout_width="wrap_content" android:text="@string/deck"
            android:id="@+id/deckButton"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/playable"
            android:layout_width="wrap_content" android:id="@+id/playableButton"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/spades"
            android:layout_width="wrap_content" android:id="@+id/spadesButton"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/diamonds"
            android:layout_width="wrap_content" android:id="@+id/diamondsButton"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/clubs"
            android:layout_width="wrap_content" android:id="@+id/clubsButton"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/hearts"
            android:layout_width="wrap_content" android:id="@+id/heartsButton"></Button>
    </LinearLayout>
    <LinearLayout android:id="@+id/linearLayout4"
        android:layout_height="wrap_content" android:layout_width="wrap_content"
        android:layout_below="@+id/linearLayout3" android:layout_alignLeft="@+id/linearLayout3">
        <Button android:layout_height="wrap_content" android:text="@string/stack1"
            android:layout_weight="1" android:layout_width="0dp" android:id="@+id/stack1Button"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/stack2"
            android:layout_weight="1" android:layout_width="0dp" android:id="@+id/stack2Button"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/stack3"
            android:layout_weight="1" android:layout_width="0dp" android:id="@+id/stack3Button"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/stack4"
            android:layout_weight="1" android:layout_width="0dp" android:id="@+id/stack4Button"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/stack5"
            android:layout_weight="1" android:layout_width="0dp" android:id="@+id/stack5Button"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/stack6"
            android:layout_weight="1" android:layout_width="0dp" android:id="@+id/stack6Button"></Button>
        <Button android:layout_height="wrap_content" android:text="@string/stack7"
            android:layout_weight="1" android:layout_width="0dp" android:id="@+id/stack7Button"></Button>
    </LinearLayout>
    <LinearLayout android:id="@+id/LinearLayout5"
        android:layout_height="wrap_content" android:layout_width="wrap_content"
        android:layout_below="@+id/linearLayout4" android:layout_alignLeft="@+id/linearLayout4">
        <TextView android:layout_height="wrap_content" android:id="@+id/textView1"
            android:text="@string/numCards" android:layout_width="wrap_content">
        </TextView>
        <EditText android:layout_height="wrap_content"
            android:inputType="number" android:id="@+id/editText1"
            android:layout_width="40dp" android:text="@string/default_number_of_cards">
            <requestFocus></requestFocus>
        </EditText>
    </LinearLayout>
</RelativeLayout>


我认为问题在于您试图使用以下方法进行调试:

System.out.println(); 
在android上,您应该使用:

Log.d("CARDS","LIST OF CARDS"); 
然后,您可以通过在Eclipse中打开logcat视图来查看此信息。 读一读这本书也许会有帮助。

您的活动是否正在实现OnClickListener?

您是否在控制台上获得System.out的输出?v.getId()和R.id.deckButton是否相同?我怀疑case R.id.deckButton没有接到电话。你也可以发布你的布局吗?另外,您是否正在实现OnClickListener?我没有获得System.out语句的任何输出。v、 getId()和R.id.deckButton应该是同一个东西。我认为你是对的,这个案子没有被传唤,但我不明白为什么。我想我做得对。我正在实现它,就像你在实现任何其他界面一样,我正在实现onClick方法。真正让我头疼的是,我正在使用一个按钮来启动这个活动,它工作得很好,如果你使用Eclipse,你可以打开logcat,进入android下的“窗口>显示视图>其他>选择logcat”,现在它将显示为你视图下的一个选项卡。单击此选项卡将显示日志。然后,您可以执行诸如搜索卡片之类的操作,以查找我在上面示例的logcat中放置的信息。它们都没有出现在日志中。