2014-08-29 2 views
0

У меня проблема с попытками использовать настройки с моим приложением. Я не нашел решение в похожих посты здесь. My App будет поддерживать андроид версию от 8 до 19. С Android Developer я нашел это:PreferenceActivity vs. PreferenceFragment при написании приложения для всех версий

Если ваше приложение поддерживает версию Android старше 3.0 (API уровня 10 и ниже), вы должны строить свою деятельность в качестве расширение класса PreferenceActivity. На Android 3.0 и более поздних версиях вместо этого вы должны использовать традиционную активность, на которой размещен PreferenceFragment, который отображает настройки вашего приложения. Тем не менее, вы также можете использовать PreferenceActivity для создания двухпанельного макета для больших экранов, когда у вас есть несколько групп настроек.

Итак, что делать, если я не поддерживаю ни API до 10-го уровня, ни выше, ни API, только выше 10?

Я попытался использовать класс PreferenceActivity вместе с addPreferencesFromRessource (R.id ....) Но чем я получил это:

package com.example.wbslideshow; 

import android.os.Bundle; 
import android.preference.PreferenceActivity; 

public class initialpath extends PreferenceActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     addPreferencesFromResource(R.xml.preferences); 

    } 
} 

где addPreferencesFromResource рассматривается как addPreferencesFromResource из-за устаревший статус.

вместе с этим объяснением:

Метод addPreferencesFromResource (INT) от типа PreferenceActivity осуждается

Что я могу сделать? Я думаю, из-за моего уровня API я не могу использовать также PreferenceFragment, который я бы предпочел. Любая идея ценится.

ответ

0

Используйте устаревшие функции. Они все еще работают, но не должны считаться современными. Варианта нет, поскольку вы хотите поддерживать старые версии без новых возможностей. Вы могли бы подумать о переключении своего проекта на более новые API.

+0

Хорошо - большое спасибо. Еще один вопрос: что произойдет, если более старая версия вызовет приложение? Будет ли он работать, или мне нужно управлять сбоем (попробуйте ... catch (exception))? –

+0

более старые версии, которые нужны вашему приложению, не будут поддерживать ваше приложение. Думайте о них, поскольку они не бегут. – Droidum

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