2011-10-18 5 views
0

J'ai défini la couche linéaire pour qu'elle devienne cliquable et je veux qu'elle agisse comme un bouton et démarre une nouvelle activité. Cependant j'ai eu une erreur. Voici une partie de la .xmlCouche cliquable Android

  <LinearLayout 
      android:id="@+id/llproduct1" 
      android:layout_width="fill_parent" android:layout_height="wrap_content" 
      android:orientation="vertical" android:clickable="true"> 
      <ImageView .... /> 
      <TextView .... /> 
      </LinearLayout> 

C'est le .java Bouton bProduct1 = (Bouton) findViewById (R.id.llproduct1); bProduct1.setOnClickListener (nouveau View.OnClickListener() {

 @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      startActivity(new Intent("com.testing.PRODUCTDESCRIPTION")); 
     } 

Qu'est-ce qui a mal tourné

+0

Quelle est l'erreur que vous obtenez? –

+1

ClassCastException Évidemment – Blackbelt

Répondre

0
Button bProduct1 = (Button) findViewById(R.id.llproduct1); 

vous ne pouvez pas lancer votre LinearLayout à un bouton, mais vous pouvez faire:.

LinearLayout bProduct1 = (LinearLayout) findViewById(R.id.llproduct1); 
bProduct1.setOnClickListener(...) 

see this for reference

+0

Merci! mais je pense que j'ai encore une erreur, j'ai toujours une erreur. user996481

+0

RÉSOLU. MERCI!!! – user996481

0

La classe n'est pas correctement castée dans "bProd" uct1 = (Bouton) findViewById (R.id.llproduct1); "

'llproduct1' est LinearLayout !! pas un bouton.
donc le code java cause de ClassCastException.

méthode onClick est déclarée dans Voir classe.
et les deux LinearLayout et Button héritez classe View.

alors pourquoi ne pas vous fixer le code ci-dessous.

View bProduct1 = findViewById(R.id.llproduct1); 
bProduct1.setOnClickListener(......); 
+0

Merci! mais je pense que j'ai encore une erreur, j'ai toujours une erreur. user996481

+0

RÉSOLU. MERCI!!! – user996481