Мое приложение не может начать работу? - PullRequest
0 голосов
/ 14 января 2012

Когда я пытаюсь запустить приложение на своем телефоне, оно принудительно закрывается, когда я пытаюсь выполнить действие 3. Logcat говорит:

01-13 17: 53: 25.368: E / AndroidRuntime (3235):Вызывается: java.lang.NullPointerException 01-13 17: 53: 25.368: E / AndroidRuntime (3235): в android.app.activity3.onCreate (activity3.java:18)

, где строка 18 равна

Button wg = (Button) findViewById(R.id.Back); 

Вот мой полный код для activity3.java:

package android.app;
import android.app.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class activity3 extends Activity{

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main3);

        Button wg = (Button) findViewById(R.id.Back);
        wg.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }

        });
    }
}

Заранее спасибо

Ответы [ 4 ]

1 голос
/ 14 января 2012

Вам нужно изменить xml:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <!-- your textview -->
    <TextView
        android:id="@+id/text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/text1"
        android:textAppearance="?android:attr/textAppearanceMedium"
        />

    <!-- your back button -->
    <Button
        android:id="@+id/back"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/Back"
        />

</RelativeLayout>

Что я сделал:

  • Удален текст и ориентация из корневого RelativeLayout, они ничего не делают.
  • Изменены ваши рост и ширина, не стесняйтесь изменять их по своему усмотрению.
  • Добавлена ​​кнопка с идентификатором R.id.back и текстом @ string / Back.

Теперь вы сможете ссылаться на свою кнопку, используя findViewById (R.id.back) и установить прослушиватель щелчков.

1 голос
/ 14 января 2012

Это происходит потому, что у вас нет кнопки, объявленной в вашем представлении. Только Textview. Вы должны создать кнопку в представлении. Вы ничего не ссылаетесь, следовательно, ноль.

Вы можете найти хороший пример того, как сделать кнопку здесь .

1 голос
/ 14 января 2012

У вас нет кнопки с идентификатором «Назад» в XML, поэтому вы получаете там ноль.Добавить запись кнопки в вашем xml.

1 голос
/ 14 января 2012

Я не вижу кнопку в XML.И как только у вас есть это, оно должно иметь:

android:id="@+id/Back"
...