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

Przykład z książki "Rusz Głową - Android" nie działa

0 głosów
44 wizyt
pytanie zadane 10 marca w Android, Swift, Symbian przez matir85 Obywatel (1,990 p.)

Witam.

Jestem podczas przerabiania książki android rusz głową wyd II. W trzecim rozdziale dot. przesyłania tekstu pomiędzy aktywnościami podany przykład w książce nie działa pomimo, że android studio nie zgłasza błędu. 

Mój kod:

Aktwność 1 Java

package hfad.com;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class CreateMessageActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.create_message_activity);
    }

    public void onSendMessage(View view){
        EditText messageView = (EditText) findViewById(R.id.message);
        String messageText = messageView.getText().toString();
        Intent intent = new Intent(this, ReciveMessage.class);
        intent.putExtra(ReciveMessage.EXTRA_MESSAGE, messageText);
        startActivity(intent);
    }
}

Aktywność 1 XML

<?xml version="1.0" encoding="utf-8"?>
<android.widget.LinearLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".CreateMessageActivity"
    android:orientation="vertical"
    android:padding="16dp">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/message"
        android:layout_marginTop="20dp"
        android:hint="@string/hint"
        android:ems="10"
        android:autofillHints="" tools:targetApi="o"
        android:inputType="" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/send"
        android:layout_marginTop="20dp"
        android:onClick="onSendMessage"
        android:text="@string/send"/>



</android.widget.LinearLayout>

Aktywność 2 Java

package hfad.com;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class ReciveMessage extends Activity {

    public static final String EXTRA_MESSAGE = "message";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_recive_message);

        Intent intent = getIntent();
        String messageText = intent.getStringExtra("EXTRA_MESSAGE");
        TextView messageView = (TextView) findViewById(R.id.message);
        messageView.setText(messageText);
    }
}

Aktywność 2 XML

<?xml version="1.0" encoding="utf-8"?>
<android.widget.LinearLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="ReciveMessage">

    <TextView
        android:id="@+id/message"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:textColor="@android:color/background_dark"
        android:textSize="24sp" />

</android.widget.LinearLayout>

plik strings.XML

<resources>
    <string name="app_name">Komunikator</string>
    <string name="hint">Wpisz wiadomość</string>
    <string name="send">Wyślij</string>
</resources>

Czy mógł by mi ktoś wskazać gdzie popełniłem błąd, gdyż przekazany tekst nie wyświetla się w drugiej aktywności. Za pomoc z góry dzieki.

1 odpowiedź

+1 głos
odpowiedź 11 marca przez KubenQPL Maniak (58,150 p.)
wybrane 6 dni temu przez matir85
 
Najlepsza
Wywołując putExtra jako klucz dajesz stałą ReciveMessage.EXTRA_MESSAGE która ma wartość "message", a pobierając dane z intentu jako klucz podajesz "EXTRA_MESSAGE" zamiast po prostu stałem EXTRA_MESSAGE
komentarz 6 dni temu przez matir85 Obywatel (1,990 p.)
Dzięki za pomoc, mój głupi błąd. Jesteś wielki.

Podobne pytania

0 głosów
1 odpowiedź 64 wizyt
0 głosów
1 odpowiedź 328 wizyt
0 głosów
3 odpowiedzi 86 wizyt
pytanie zadane 8 marca w C# i .NET przez czujek22 Mądrala (6,830 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

61,205 zapytań

107,094 odpowiedzi

223,009 komentarzy

32,535 pasjonatów

Przeglądających: 176
Pasjonatów: 1 Gości: 175

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...