2013-12-22 4 views
-3

Я хочу, чтобы мое приложение открывало настройки WiFi при нажатии кнопки, но когда я это делаю, он заставляет закрывать. Это мой код:Действие приложения закрывается после открытия настроек WiFi

public class Settings extends Activity { 

    private static Intent ACTION_WIFI_SETTINGS; 

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

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

    public void click(View view) { 
     Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS); 
     startActivity(intent); 
    } 
} 

XML-макета:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".Settings" > 

    <RadioGroup 
     android:id="@+id/radioGroup1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="14dp" > 
    </RadioGroup> 

    <RadioButton 
     android:id="@+id/radio0" 
     android:onClick="togglewifi" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:checked="true" 
     android:text="Toggle Wifi" /> 

    <RadioButton 
     android:id="@+id/radio1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/radio0" 
     android:text="Toggle Data" /> 

    <Button 
     android:onClick="click" 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/radio1" 
     android:layout_below="@+id/radio1" 
     android:layout_marginTop="16dp" 
     android:text="Configure" /> 

    <Button 
     android:id="@+id/button2" 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" 
     android:text="Done" /> 

    </RelativeLayout> 

LogCat:

12-22 12:29:36.429: E/AndroidRuntime(2813): FATAL EXCEPTION: main 
12-22 12:29:36.429: E/AndroidRuntime(2813): java.lang.IllegalStateException: Could not execute method of the activity 
12-22 12:29:36.429: E/AndroidRuntime(2813):  at  android.view.View$1.onClick(View.java:2144) 
12-22 12:29:36.429: E/AndroidRuntime(2813):  at android.view.View.performClick(View.java:2485) 
12-22 12:29:36.429: E/AndroidRuntime(2813):  at android.view.View$PerformClick.run(View.java:9080) 
12-22 12:29:36.429: E/AndroidRuntime(2813):  at android.os.Handler.handleCallback(Handler.java:587) 
12-22 12:29:36.429: E/AndroidRuntime(2813):  at android.os.Handler.dispatchMessage(Handler.java:92) 

Как я могу это исправить?

+0

Проверить разрешение на андроид AndroidManifest .xml, а также сообщение об ошибке журнала. –

+0

Любой ловушка для публикации? – csmckelvey

+0

, пожалуйста, не пропустите голосования, я разместил logcat – Anonymous

ответ

1

Вы понимаете, что вы устанавливаете действие Intent равным null. Когда вы выполняете свой метод кликов, он, конечно же, получит NPE. Исправьте это.

+0

см. Редактирование .......... – Anonymous

0

В вашем XML, вы объявляете onClick обратного вызова на RadioButtonradio0:

android:onClick="togglewifi" 

но ваш Activity не метод public void togglewifi(View), вызывая исключение:

java.lang.IllegalStateException: Could not execute method of the activity 
    at  android.view.View$1.onClick(View.java:2144) 
+0

Посмотрите ясно, что у меня есть два onclicks в моем макете – Anonymous

+0

@Anonymous Да и у этого действия нет метода для 'togglewifi' – laalto

+0

в xml-" click " – Anonymous

Смежные вопросы