Android onClickListener не регистрирует клики (я думаю)

Я пытаюсь написать очень простой пасьянс. У меня есть кнопки, которые позволяют игроку взаимодействовать с картами. У меня есть слушатели, установленные на каждой кнопке, но на данный момент я только работаю с одной из кнопок, чтобы попытаться скрыть эту проблему. У меня установлен метод 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></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">
 
 
 
 
 
 
 
 </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">
 
 
 
 
 
 
 </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">
 
 
 
 
 
 
 
 </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">
 
 </edittext>
 </linearlayout>
</relativelayout>
</linearlayout>
2 ответа

Я думаю, проблема в том, что вы пытаетесь отлаживать, используя:

System.out.println();

На андроиде вы должны использовать:

Log.d("CARDS","LIST OF CARDS");

Затем вы можете просмотреть эту информацию, открыв представление logcat в Eclipse. Прочитайте это, это может помочь. http://developer.android.com/reference/android/util/Log.html


Является ли ваша деятельность внедрением OnClickListener?

licensed under cc by-sa 3.0 with attribution.