Проблема с настройками Android - PullRequest
3 голосов
/ 19 января 2011

Я изучаю этот учебник: текст ссылки

Preferences.java:

public class Preferences extends PreferenceActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
}

}

PreferencesTutorial.java:

public class PreferencesTutorial extends Activity{

@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button prefBtn = (Button) findViewById(R.id.prefButton);
        prefBtn.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                        Intent settingsActivity = new Intent(getBaseContext(),
                                        Preferences.class);
                        startActivity(settingsActivity);
                }
        });
 }

}

Preferences.xml: alt text

При запуске приложения и нажатии кнопки prefButton возникает ошибка: «PreferencesTutorial приложения (процесс PreferencesTutorial.com.примеры) неожиданно остановился. Пожалуйста, попробуйте еще раз "

Я не нашел ошибок в коде.Я также хотел бы показать свою файловую структуру, если это поможет: alt text

AndroidManifest.xml: alt text

Что не так с кодом?

Даже если ядобавить (там, где курсор)

<activity
        android:name=".Preferences"
        android:label="@string/set_preferences">
    </activity>

я все еще получаю ошибку.

Ответы [ 4 ]

1 голос
/ 11 мая 2012

Попробуйте удалить этот импорт, если он у вас есть;

import java.util.prefs.Preferences;
0 голосов
/ 20 января 2011

Ошибка возникает в OnClick в классе PreferencesTutorial или в OnCreate в классе настроек?Вставьте несколько файлов Log.d («Debug», «% ID») в разные места и посмотрите, какой из них не вызывается.

0 голосов
/ 12 февраля 2011

Вы должны упомянуть об этом в файле androidManifest.xml

<activity
        android:name=".Preferences"
        android:label="@string/set_preferences">
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT"/>

        </intent-filter>  
</activity>
0 голосов
/ 19 января 2011

Возможно, в вашем манифесте не определено Preferences.

Однако, как указали другие, используйте adb logcat, DDMS или перспективу DDMS в Eclipse, чтобы проверить LogCat и увидеть трассировку стека.связанных с вашей аварией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...