Интерфейс, диалоги, темы, стили, меню
-
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
- Откуда: Самара
Сообщение
Mikhail_dev » 26 окт 2014, 16:25
Caused by: java.lang.NullPointerException
at com.example.markedone.myapplication.MyActivity.onCreate(MyActivity.java:87)
Почему она у вас там, надо смотреть по коду
-
bartle96
- Сообщения: 37
- Зарегистрирован: 04 окт 2014, 13:49
Сообщение
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
Сообщение
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
Сообщение
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
Сообщение
doter.ua » 09 ноя 2014, 02:11
SharedPreferences pref; в 22 строчке. А в 50 ты пытаешься создать такой же, используй просто pref
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
-
doter.ua
- Сообщения: 1106
- Зарегистрирован: 23 ноя 2013, 16:08
- Откуда: Ukraine
Сообщение
doter.ua » 09 ноя 2014, 12:17
попробуй this.getSharedPreferences("set", MODE_PRIVATE);
или this.activity.getSharedPreferences("set", MODE_PRIVATE);
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
-
bartle96
- Сообщения: 37
- Зарегистрирован: 04 окт 2014, 13:49
Сообщение
bartle96 » 09 ноя 2014, 15:45
У меня еще небольшой вопросик
Вызываю это
Search = new Search();
Search.savesett();
Переменную описал как private Search Search;
Приложение вылетает.. (
-
bartle96
- Сообщения: 37
- Зарегистрирован: 04 окт 2014, 13:49
Сообщение
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 не такой. Из за него я не могу пользоваться другими функциями(