2017-01-12 3 views
-1

ich eine App bin zu entwickeln, und ich hatte einige Fehler, wenn ich auf dem Tablet laufen sie diesen Fehler gibt, aber wenn ich auf mobile gehen sie funktioniert perfekt, bereits versucht, zu reinigen und wieder aufzubauen und versucht, den Computer neu zu starten, aber ich habe immer noch Fehlerandroid.support.v7.widget.AppCompatButton kann nicht auf android.widget.LinearLayout gegossen werden

den Code unten:

private LinearLayout btSobre, btCatalogo, btDistribuidores, btCadastro; 

    btCatalogo = (LinearLayout) findViewById(R.id.btCatalogo); 
    btDistribuidores = (LinearLayout) findViewById(R.id.btDistribuidores); 
    btSobre = (LinearLayout) findViewById(R.id.btSobre); 
    btCadastro = (LinearLayout) findViewById(R.id.btCadastro); 

    btCadastro.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      chamarCadastro(); 
     } 
    }); 

    btSobre.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent chamada = new Intent(v.getContext(), SobreActivity.class); 
      startActivity(chamada); 

     } 
    }); 


    btCatalogo.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent chamarCatalogo = new Intent(v.getContext(), CatalogoActivity.class); 
      chamarCatalogo.putExtra("conexao", conexao); 
      startActivity(chamarCatalogo); 


     } 
    }); 

    btDistribuidores.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent chamarDistribuidores = new Intent(v.getContext(), DistribuidorActivity.class); //antigo porem na terceira entrega 

      startActivity(chamarDistribuidores); 

     } 
    }); 

XML

<LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginEnd="5dp" 
      android:layout_marginStart="5dp" 
      android:layout_weight="1" 
      android:background="@drawable/quadrado_curto" 
      android:orientation="vertical" 
      android:clickable="true" 
      android:id="@+id/btCatalogo"> 

und die anderen linearlayout ist der gleiche, der Fehler, der mir zeigen, ist

java.lang.RuntimeException: Unable to start activity ComponentInfo{....MainActivity}: java.lang.ClassCastException: android.support.v7.widget.AppCompatButton cannot be cast to android.widget.LinearLayout 

das seltsame ist, dass der Fehler nur zeigen, wenn ich in Tabletten laufen, in regelmäßigen Telefon seinen normalen

kann mir jemand helfen?

dank

+0

Vielleicht sollten Sie die 'MainActivity' bieten und die Linie zeigen, wo dieser Fehler auftritt? Ich sehe keinen Grund, den aktuellen angezeigten Code ein solcher Fehler – Nikola

+0

die Linie zu werfen, wenn dieser Fehler auftritt, wenn ich versuche, die Linearlayout zu werfen: btCatalogo = (Linearlayout) findViewById (R.id.btCatalogo); – user3576248

+0

sind Sie Ansichten in jeder Methode initialisieren oder einfach nur in der Klasse? –

Antwort

0

das seltsame ist, dass der Fehler nur zeigen, wenn ich in Tabletten laufen, in regelmäßigen Telefon seinen normalen

Haben Sie zusätzliche layout- in /res erklärt Ordner? Meine Vermutung wäre, dass Sie eine andere Layout-Datei die gleichen Namen in einem größenspezifischen Ordner (zum Beispiel in layout-xlarge) teilen, die android:id="@+id/btCatalogo" zu einem AppCompatButton zugeordnet ist eher als ein LinearLayout. auch

See - Supporting Multiple Screens

Verwandte Themen