Вылетает приложение

Интерфейс, диалоги, темы, стили, меню
Ответить
bartle96
Сообщения: 37
Зарегистрирован: 04 окт 2014, 13:49

Вылетает приложение

Сообщение bartle96 » 26 окт 2014, 14:27

Всем доброго морозного дня!
Запускал приложения на двух телефонах, работают
А вот на планшете не хочет. Сразу вылетаем
Подскажите, в чем дело?

Код: Выделить всё

10-26 15:22:51.599  19384-19384/com.example.markedone.myapplication D/AndroidRuntime﹕ Shutting down VM
10-26 15:22:51.599  19384-19384/com.example.markedone.myapplication W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40a001f8)
10-26 15:22:51.599  19384-19384/com.example.markedone.myapplication E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.markedone.myapplication/com.example.markedone.myapplication.MyActivity}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
            at android.app.ActivityThread.access$600(ActivityThread.java:123)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4424)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.example.markedone.myapplication.MyActivity.onCreate(MyActivity.java:87)
            at android.app.Activity.performCreate(Activity.java:4465)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
            at android.app.ActivityThread.access$600(ActivityThread.java:123)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4424)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
            at dalvik.system.NativeStart.main(Native Method)

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Вылетает приложение

Сообщение Mikhail_dev » 26 окт 2014, 16:25

Caused by: java.lang.NullPointerException
at com.example.markedone.myapplication.MyActivity.onCreate(MyActivity.java:87)
Почему она у вас там, надо смотреть по коду

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Вылетает приложение

Сообщение Foenix » 26 окт 2014, 21:45

ссылка в подписи
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

bartle96
Сообщения: 37
Зарегистрирован: 04 окт 2014, 13:49

Re: Вылетает приложение

Сообщение bartle96 » 09 ноя 2014, 00:10

Всем привет!
Намудрил нечто такое

Код: Выделить всё

public class CustomDialog2 extends Activity {

    private Dialog dialog;
    final String LOG_TAG = "myLogs";
    SharedPreferences pref;
    private Activity activity;
    String[] data = {"one", "two", "three", "four", "five"};

    SharedPreferences.Editor editPref;

    Integer sex1;
    Integer sex2;
    Integer online;
    Integer smoking;
    private Button dialogButton;

    private Search Search;


    public CustomDialog2(Activity activity){
        this.activity = activity;
        init();

    }

    public void saveset() {
        LayoutInflater inflater = LayoutInflater.from( this.activity );
        View layout = inflater.inflate(R.layout.dialogsettingssearch, null);
        AlertDialog.Builder builder = new AlertDialog.Builder( this.activity );
        builder.setView(layout);


        SharedPreferences pref = getSharedPreferences("set", MODE_PRIVATE);
        SharedPreferences.Editor editPref = pref.edit();
        editPref.putString("guy", String.valueOf(sex1));
        editPref.putString("girl", String.valueOf(sex2));
        editPref.putString("online", String.valueOf(online));
        editPref.putString("smoking", String.valueOf(smoking));
        editPref.commit();

    }
Все супер, только при запуске saveset() вылетает(
Наверное это из за видимости getSharedPreferences.
Помогите разобраться, заранее спасибо

Код: Выделить всё

11-09 00:09:27.729    4912-4912/com.example.markedone.myapplication E/InputEventReceiver﹕ Exception dispatching input event.
11-09 00:09:27.730    4912-4912/com.example.markedone.myapplication E/MessageQueue-JNI﹕ Exception in MessageQueue callback: handleReceiveCallback
11-09 00:09:27.738    4912-4912/com.example.markedone.myapplication E/MessageQueue-JNI﹕ java.lang.NullPointerException
            at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:161)
            at com.example.markedone.myapplication.CustomDialog2.saveset(CustomDialog2.java:50)
            at com.example.markedone.myapplication.CustomDialog2$2.onTouch(CustomDialog2.java:150)
            at android.view.View.dispatchTouchEvent(View.java:7250)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1968)
            at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1420)
            at android.app.Dialog.dispatchTouchEvent(Dialog.java:740)
            at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1916)
            at android.view.View.dispatchPointerEvent(View.java:7435)
            at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3610)
            at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3538)
            at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4790)
            at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4750)
            at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4902)
            at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:179)
            at android.os.MessageQueue.nativePollOnce(Native Method)
            at android.os.MessageQueue.next(MessageQueue.java:125)
            at android.os.Looper.loop(Looper.java:140)
            at android.app.ActivityThread.main(ActivityThread.java:5297)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
            at dalvik.system.NativeStart.main(Native Method)
11-09 00:09:27.738    4912-4912/com.example.markedone.myapplication D/AndroidRuntime﹕ Shutting down VM
11-09 00:09:27.738    4912-4912/com.example.markedone.myapplication W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41e179a8)
11-09 00:09:27.748    4912-4912/com.example.markedone.myapplication E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.NullPointerException
            at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:161)
            at com.example.markedone.myapplication.CustomDialog2.saveset(CustomDialog2.java:50)
            at com.example.markedone.myapplication.CustomDialog2$2.onTouch(CustomDialog2.java:150)
            at android.view.View.dispatchTouchEvent(View.java:7250)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241)
            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946)
            at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1968)
            at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1420)
            at android.app.Dialog.dispatchTouchEvent(Dialog.java:740)
            at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1916)
            at android.view.View.dispatchPointerEvent(View.java:7435)
            at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3610)
            at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3538)
            at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4790)
            at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4750)
            at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4902)
            at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:179)
            at android.os.MessageQueue.nativePollOnce(Native Method)
            at android.os.MessageQueue.next(MessageQueue.java:125)
            at android.os.Looper.loop(Looper.java:140)
            at android.app.ActivityThread.main(ActivityThread.java:5297)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
            at dalvik.system.NativeStart.main(Native Method)

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Вылетает приложение

Сообщение doter.ua » 09 ноя 2014, 00:43

at com.example.markedone.myapplication.CustomDialog2.saveset(CustomDialog2.java:50)
at com.example.markedone.myapplication.CustomDialog2$2.onTouch(CustomDialog2.java:150)
50я и 150я строчки, вы скинули 41 это полный код ?
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

bartle96
Сообщения: 37
Зарегистрирован: 04 окт 2014, 13:49

Re: Вылетает приложение

Сообщение bartle96 » 09 ноя 2014, 00:46

Нет, вот весь
50 строка это как раз SharedPreferences pref = getSharedPreferences("set", MODE_PRIVATE);
а 150 это вызов saveset();

Код: Выделить всё

package com.example.markedone.myapplication;


import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;


public class CustomDialog2 extends Activity {

    private Dialog dialog;
    final String LOG_TAG = "myLogs";
    SharedPreferences pref;
    private Activity activity;
    String[] data = {"one", "two", "three", "four", "five"};

    SharedPreferences.Editor editPref;

    Integer sex1;
    Integer sex2;
    Integer online;
    Integer smoking;
    private Button dialogButton;

    private Search Search;


    public CustomDialog2(Activity activity){
        this.activity = activity;
        init();

    }

    public void saveset() {
        LayoutInflater inflater = LayoutInflater.from( this.activity );
        View layout = inflater.inflate(R.layout.dialogsettingssearch, null);
        AlertDialog.Builder builder = new AlertDialog.Builder( this.activity );
        builder.setView(layout);


        SharedPreferences pref = getSharedPreferences("set", MODE_PRIVATE);
        SharedPreferences.Editor editPref = pref.edit();
        editPref.putString("guy", String.valueOf(sex1));
        editPref.putString("girl", String.valueOf(sex2));
        editPref.putString("online", String.valueOf(online));
        editPref.putString("smoking", String.valueOf(smoking));
        editPref.commit();

    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        LayoutInflater inflater = LayoutInflater.from( this.activity );
        View layout = inflater.inflate(R.layout.dialogsettingssearch, null);
        AlertDialog.Builder builder = new AlertDialog.Builder( this.activity );
        builder.setView(layout);



    }



    private void init(){
        LayoutInflater inflater = LayoutInflater.from( this.activity );
        View layout = inflater.inflate(R.layout.dialogsettingssearch, null);


       // dialogButton.setOnClickListener( this );

        AlertDialog.Builder builder = new AlertDialog.Builder( this.activity );
        builder.setView(layout);

        dialog = builder.create();

        //dialog.setTitle("Настройки поиска");


        final RadioButton radio1 = (RadioButton) layout.findViewById(R.id.radio1);
        final RadioButton radio2 = (RadioButton) layout.findViewById(R.id.radio2);
        final RadioButton radio3 = (RadioButton) layout.findViewById(R.id.radio3);
        final RadioButton radio4 = (RadioButton) layout.findViewById(R.id.radio4);

        dialogButton = (Button) layout.findViewById( R.id.dialog_button );

        radio1.setOnClickListener(radioButtonClick);
        radio2.setOnClickListener(radioButtonClick);
        radio3.setOnClickListener(radioButtonClick);
        radio4.setOnClickListener(radioButtonClick);

        dialogButton.setOnClickListener(radioButtonClick);
        dialogButton.setOnTouchListener(upDownListener);

    }

    public void show(){
        dialog.show();
    }


    OnClickListener radioButtonClick = new OnClickListener() {
        public void onClick(View v) {

                switch (v.getId()) {
                    case R.id.radio1:
                        online = 1;  Log.d(LOG_TAG, "1");

                    break;
                    case R.id.radio2:
                        online = 0;  Log.d(LOG_TAG, "0");
                    break;
                    case R.id.radio3:
                        smoking = 0;  Log.d(LOG_TAG, "0");
                    break;
                    case R.id.radio4:
                        smoking = 1;  Log.d(LOG_TAG, "1");
                    break;
                    case R.id.dialog_button:
                        Log.d(LOG_TAG, "555");
                    break;

                }

        }
    };


    View.OnTouchListener upDownListener = new View.OnTouchListener() {

        @Override
          public boolean onTouch(View v, MotionEvent event) {
            if(event.getAction() == MotionEvent.ACTION_DOWN) {
                // Button was pressed, change button background
                dialogButton.setBackgroundResource(R.drawable.btnprofile);
                return true;
            } else if(event.getAction() == MotionEvent.ACTION_UP) {
                // Button was released, reset button background
                dialogButton.setBackgroundResource(R.drawable.btn);

                saveset();
                return true;
            }

            return false;
        }

    };





}

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Вылетает приложение

Сообщение doter.ua » 09 ноя 2014, 02:11

SharedPreferences pref; в 22 строчке. А в 50 ты пытаешься создать такой же, используй просто pref
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

bartle96
Сообщения: 37
Зарегистрирован: 04 окт 2014, 13:49

Re: Вылетает приложение

Сообщение bartle96 » 09 ноя 2014, 11:02

Сделал, ничего не поменялось(

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Вылетает приложение

Сообщение doter.ua » 09 ноя 2014, 12:17

попробуй this.getSharedPreferences("set", MODE_PRIVATE);
или this.activity.getSharedPreferences("set", MODE_PRIVATE);
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

bartle96
Сообщения: 37
Зарегистрирован: 04 окт 2014, 13:49

Re: Вылетает приложение

Сообщение bartle96 » 09 ноя 2014, 15:29

Спасибки ^_^

bartle96
Сообщения: 37
Зарегистрирован: 04 окт 2014, 13:49

Re: Вылетает приложение

Сообщение bartle96 » 09 ноя 2014, 15:45

У меня еще небольшой вопросик
Вызываю это

Search = new Search();
Search.savesett();

Переменную описал как private Search Search;
Приложение вылетает.. (

bartle96
Сообщения: 37
Зарегистрирован: 04 окт 2014, 13:49

Re: Вылетает приложение

Сообщение bartle96 » 09 ноя 2014, 18:49

В общем все по порядочку..


сделал вот так
CustomDialog2 customDialog2 = new CustomDialog2(this);
customDialog2.show();

Все хорошо. А вот как из этого CustomDialog2 запустить метод из того активити который создал его?

Пытался так
Search CreateRecord = new Search();
CreateRecord.CreateRecord(activitym);

А в Search.java
public void CreateRecord(Context cont){
Toast.makeText(cont, "", Toast.LENGTH_SHORT).show();
}

Только там какой то cont не такой. Из за него я не могу пользоваться другими функциями(

Ответить