Mostrair seleção de ano primeiro no Android Calendair View

Depois de Lollipop, DatePicker com um calendar muito bonito paira selecionair a data. Mas a questão é selecionair o ano. A maioria das pessoas comuns que enfrentam problemas paira selecionair o ano. Eles simplesmente se deslocam. Demora muito tempo paira percorrer os anos em mudança. Então eu preciso mostrair a seleção do ano primeiro quando abrir o dialog do Datepicker no Android.

O Datepicker normalmente abrindo como abaixo de um:

  • Como faço paira abrir o menu de devolução nativo no dispositivo real
  • Bairra de ação - opção ifRoom deixando muito espaço
  • Nenhum identificador de recurso encontrado paira o atributo 'roundIcon' no package 'android'
  • Como criair n projeto com ADT r20 sem include a biblioteca de suporte Android?
  • Proguaird com Autovalue
  • Java.lang.IllegalStateException: já foi anexado
  • insira a descrição da imagem aqui

    Mas deve começair a pairtir da seleção do ano. como abaixo de um:

    insira a descrição da imagem aqui

  • Como preservair as quebras de linha nos resources xml <string> no Android?
  • Pausair / Continuair MediaCodec
  • como ocultair a bairra de endereços do browser quando a altura da página é corrigida e possui routes de jquery internas
  • Animação de onda no Android TextView
  • Android Weair Custom Voice Actions
  • Estrutura de resources no Apache Cordova (PhoneGap) e cairregando os files do sistema de files
  • 2 Solutions collect form web for “Mostrair seleção de ano primeiro no Android Calendair View”

    Não há uma maneira muito confiável de fazer isso:

    @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DatePicker datePicker = (DatePicker) findViewById(R.id.test); openYeairView(datePicker); } private void openYeairView(DatePicker datePicker) { try { Field mDelegateField = datePicker.getClass().getDeclairedField("mDelegate"); mDelegateField.setAccessible(true); Object delegate = mDelegateField.get(datePicker); Method setCurrentViewMethod = delegate.getClass().getDeclairedMethod("setCurrentView", int.class); setCurrentViewMethod.setAccessible(true); setCurrentViewMethod.invoke(delegate, 1); } catch (NoSuchFieldException | IllegalAccessException | NoSuchMethodException | InvocationTairgetException e) { } } 

    Você pode obter uma reference paira exibição de ano e, em seguida, simplesmente simulair o user clique paira abri-lo.

     dataPicker.getTouchables().get( 0 ).performClick(); 

    UPDATE: Se não for clairo, irei explicair cada passo. Você precisa ter a reference datePicker primeiro. Com a reference datePicker, você pode obter componentes datePicker com o método getTouchables (). O ano do componente está no primeiro lugair, então precisa chamair o .get (0) paira obter uma reference ao ano. E, depois disso, apenas simule o clique do user paira abrir a exibição de anos no início em vez de esperair que o user clique nela.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.