• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Android Studio - Aplication has stopped

Object Storage Arubacloud
0 głosów
154 wizyt
pytanie zadane 3 maja 2018 w Android, Swift, Symbian przez dskibotic Nowicjusz (170 p.)
edycja 3 maja 2018 przez dskibotic

Witam,

Mam problem z uruchomieniem prostej aplikacji, Po załadowaniu jej do emulatora aplikacja się crashuje. Wyskakuje taki błąd: 

Caused by: java.lang.ClassCastException: android.support.constraint.ConstraintLayout cannot be cast to android.widget.Button

Jestem zielony w javie

Dołączam potrzebne pliki

 

MainActivity.java

package com.example.crossbylite.trzeciprob;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView txt;
    Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        txt = (TextView) findViewById(R.id.mytext1);
        btn = (Button) findViewById(R.id.mybutton1);

        btn.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                txt.setText("Button cliced");
            }
        });

        /*FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        }); */
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

content_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/mybutton1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.example.crossbylite.trzeciprob.MainActivity"
    tools:showIn="@layout/activity_main">

    <TextView
        android:id="@+id/mytext1"
        android:layout_width="wrap_content"
        android:layout_height="22dp"
        android:text="nothing"
        tools:layout_editor_absoluteX="153dp"
        tools:layout_editor_absoluteY="16dp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="/"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        tools:layout_editor_absoluteY="383dp" />
</android.support.constraint.ConstraintLayout>

Logcat

05-03 09:56:36.396 7962-7962/com.example.crossbylite.trzeciprob E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                  Process: com.example.crossbylite.trzeciprob, PID: 7962
                                                                                  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.crossbylite.trzeciprob/com.example.crossbylite.trzeciprob.MainActivity}: java.lang.ClassCastException: android.support.constraint.ConstraintLayout cannot be cast to android.widget.Button
                                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2892)
                                                                                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3027)
                                                                                      at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
                                                                                      at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:101)
                                                                                      at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:73)
                                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1786)
                                                                                      at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                      at android.os.Looper.loop(Looper.java:164)
                                                                                      at android.app.ActivityThread.main(ActivityThread.java:6656)
                                                                                      at java.lang.reflect.Method.invoke(Native Method)
                                                                                      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
                                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
                                                                                   Caused by: java.lang.ClassCastException: android.support.constraint.ConstraintLayout cannot be cast to android.widget.Button
                                                                                      at com.example.crossbylite.trzeciprob.MainActivity.onCreate(MainActivity.java:27)
                                                                                      at android.app.Activity.performCreate(Activity.java:7117)
                                                                                      at android.app.Activity.performCreate(Activity.java:7108)
                                                                                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1262)
                                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2867)
                                                                                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3027) 
                                                                                      at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
                                                                                      at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:101) 
                                                                                      at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:73) 
                                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1786) 
                                                                                      at android.os.Handler.dispatchMessage(Handler.java:106) 
                                                                                      at android.os.Looper.loop(Looper.java:164) 
                                                                                      at android.app.ActivityThread.main(ActivityThread.java:6656) 
                                                                                      at java.lang.reflect.Method.invoke(Native Method) 
                                                                                      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
                                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 

Z góry dziękuję za odpowiedź.

1 odpowiedź

+1 głos
odpowiedź 3 maja 2018 przez KubenQPL Maniak (62,820 p.)
Z jakiegoś powodu id ConstraintLayout to "mybutton1" i gdy castujesz do Button linijka 27, to masz error Castowania bo ConstraintLayout na Button nie możesz. Id przycisku masz "button1".
komentarz 3 maja 2018 przez dskibotic Nowicjusz (170 p.)
oo widzę, dzięki wielkie.

Podobne pytania

0 głosów
1 odpowiedź 365 wizyt
pytanie zadane 16 października 2022 w Android, Swift, Symbian przez Beginner555 Obywatel (1,760 p.)
+1 głos
0 odpowiedzi 109 wizyt
0 głosów
1 odpowiedź 380 wizyt

92,551 zapytań

141,399 odpowiedzi

319,531 komentarzy

61,937 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...