0

Я пытаюсь сделать учебник по интро для моего приложения Android, который использует View Pager с Fragments Pager Adapter и все не работает с фрагментами.ShowCase View с фрагментами

Я использую эту библиотеку: https://github.com/amlcurran/ShowcaseView

t1 = new ViewTarget(R.id.btnGenerate, getActivity()); 
    t2 = new ViewTarget(R.id.cbFavorito, getActivity()); 
    t3 = new ViewTarget(R.id.txtResult, getActivity()); 


    view.post(new Runnable() { 
     @Override 
     public void run() { 
       if(isAdded()) { 
       showcaseView = new ShowcaseView.Builder(getActivity()) 
         .setTarget(Target.NONE) 
         .setContentTitle("Tutorial") 
         .setContentText("Aprenda como usar o aplicativo") 
         .build(); 
       showcaseView.setButtonText("Next"); 
       showcaseView.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         switch (contador) { 
          case 0: 
           showcaseView.setShowcase(t1, true); 
           showcaseView.setContentTitle("Teste"); 
           showcaseView.setContentText("Teste"); 
           break; 
          case 1: 
           showcaseView.setShowcase(t2, true); 
           showcaseView.setContentTitle("Gerar um nome"); 
           showcaseView.setContentText("Teste"); 
           break; 
          case 2: 
           showcaseView.setShowcase(t3, true); 
           showcaseView.setContentTitle("Adicionar aos Favoritos"); 
           showcaseView.setContentText("teste"); 
           showcaseView.setButtonText("Fechar"); 
           break; 
          case 3: 
           showcaseView.hide(); 
           break; 
         } 
         contador++; 
        } 
       }); 
      } 
     } 
    }); 

В коде выше я пытаюсь сосредоточиться различные кнопки, когда я нажимаю на кнопку Далее из ShowCase View, но, когда щелкнул учебник просто закрывается , ничего не происходит, нет erros, просто закрывается.

+0

Вы указали свой код в onViewCreated из фрагмента? –

ответ

0

Вы не должны принимать события от кнопки у слушателя, попробуйте следующее:

public void run() { 
          try { 
           showCase(); 
          } catch (Exception e) { 
           e.printStackTrace(); 
          } 

и Showcase:

showcaseView = new ShowcaseView.Builder(getActivity()) 
       .setTarget(new ViewTarget(R.id.tool_bar, getActivity())) 
       .setContentTitle(getString(R.string.title_list_os)) 
       .setContentText(getString(R.string.dica_atualizar_os)) 
       .setOnClickListener(this) 
       .setStyle(R.style.CustomShowcaseTheme) 
       .build(); 

ваша деятельность нуждается в Реализует View.OnclickListener

К сожалению мой английский.