0

我想爲我的android應用程序做一個簡介教程,它使用View Pager與碎片尋呼機適配器和事情不能與片段一起工作。ShowCase查看與片段

我使用這個庫: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++; 
        } 
       }); 
      } 
     } 
    }); 

在上面的代碼我試圖把重點不同的按鈕,當我在按鈕的櫥窗查看下一頁點擊,但是,當點擊教程時只需關閉,沒有任何反應,沒有錯誤,只是關閉。

+0

你把你的代碼放在片段的onViewCreated中嗎? –

回答

0

你沒有從按鈕拍攝事件聽者中,試試這個:

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

,並展示:

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

對不起我的英語。