Issue
I'm developing an app and I had some errors. When I run on the tablet it gives this error, but when I go to mobile it works perfectly. I already tried to clean and rebuild and tried to reboot the computer but I'm still having errors.
See the code below:
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">
And the others linearlayout
is the same, the error that show me is
java.lang.RuntimeException: Unable to start activity ComponentInfo{....MainActivity}: java.lang.ClassCastException: android.support.v7.widget.AppCompatButton cannot be cast to android.widget.LinearLayout
The strange thing is that the error only shows when I run in tablets, and on a regular phone it's normal.
Solution
the strange is that the error only show when i run in tablets, in regular phone its normal
Do you have any additional layout-
folders declared in /res
? My guess would be that you have another layout file sharing the same name in a size-specific folder (e.g. in layout-xlarge
) which has android:id="@+id/btCatalogo"
assigned to an AppCompatButton
rather than a LinearLayout
.
See also - Supporting Multiple Screens
Answered By - Michael Dodd
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.