2014-09-10 5 views
0

WizarDroid 라이브러리를 사용하고 간단한 마법사를 만듭니다.WizarDroid의 뒤로 단추 사용 안 함

내가하려는 것은 뒷면의 버튼을 비활성화하려는 마지막 단계입니다. 나는 모든 곳을 찾았고 문서가 나를 돕지 못하고있다.

public class FormWizard extends BasicWizardLayout 
{ 
    public FormWizard() 
    { 
     super(); 
    } 

    @Override 
    public WizardFlow onSetup() 
    { 
     return new WizardFlow.Builder() 
     /* 
     * Mark this step as 'required', preventing the user from advancing to the 
     * next step without selecting one option. 
     */ 
     .addStep(Form1.class, true) 
     .addStep(Form2.class, true) 
     .addStep(Form3.class) 
     .create(); 
    } 

    @Override 
    public void onWizardComplete() 
    { 
     super.onWizardComplete(); 

     // Terminate the wizard 
     getActivity().finish(); 
    } 
} 

Form1에, Form2를 및 Form3 단순히 WizardStep을 확장하고 사용자에게 일부 데이터를 보여주고있다 :

은 여기 내 기본 마법사 코드입니다.

설명서에서 wizard.goNext(); 메서드가 정의되어 있지만 내 시나리오에서는 사용할 수 없습니다.

단순히 사용자가 Form3 또는 마지막 단계에 도달 한 후에 다시 돌아가도록 설정하려고합니다.

답변

0

(홈 버튼과 메뉴 버튼 옆에있는) 소프트웨어/하드웨어를 사용하지 않도록 설정하는 경우 onPress를 직접 처리해야합니다. 예 :

//FOR API 5- 
@Override 
public void onBackPressed() { 
    Toast.makeText(getApplicationContext(), "Can't go back", Toast.LENGTH_LONG).show(); 
} 

//FOR API 6+ 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     Toast.makeText(getApplicationContext(), "Can't go back", Toast.LENGTH_LONG).show(); 
     return true; 
    } else { 
     return super.onKeyDown(keyCode, event); 
    } 
}