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