2016-06-12 3 views
-1

Прежде всего, извините за мой английский. Я пытаюсь создать диалог с 2 кнопками и textview. Когда я нажимаю кнопку, программа пропускает первую часть и переходит ко второму. Как я могу это исправить? Моя цель - сделать диалог вроде:Как мне создать диалог? Как я могу это исправить?

  • + Привет, как дела?
  • -Good
  • -Bad
  • (Нажал плохо)

  • + Почему вы чувствуете себя плохо?

  • -Така он покусал меня
  • -Потого I Am раненых

    Спасибо за помощь: | !

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    btnT = (Button) findViewById(R.id.btnT); 
    btnF = (Button) findViewById(R.id.btnF); 
    tv=(TextView)findViewById(R.id.textView); 
    yazdir(R.array.metin1,R.array.secim1,0); 
    
        //first part 
    btnT.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         yazdir(R.array.metin2,R.array.secim2,0); 
        } 
    }); 
    btnF.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         yazdir(R.array.metin2,R.array.secim2,1); 
        } 
    }); 
    
    //second part 
    
    
    btnT.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         yazdir(R.array.metin3,R.array.secim3,0); 
        } 
    }); 
    btnF.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         yazdir(R.array.metin3,R.array.secim3,1); 
        } 
    }); 
    
        } 
    
    
    
    
    
        private Handler mHandler = new Handler(); 
        private Runnable characterAdder = new Runnable() { 
        @Override 
        public void run() { 
        tv.setText(mText.subSequence(0, mIndex++)); 
        if(mIndex <= mText.length()) { 
         mHandler.postDelayed(characterAdder, 20); 
        } 
        else { 
         btnT.setVisibility(View.VISIBLE); 
         btnF.setVisibility(View.VISIBLE); 
        } 
    } 
        }; 
    
    public void yazdir(int metinGirisi,int secimGirisi,int metinIndex) { 
    // Yazı 
    
    text=getResources().getStringArray(metinGirisi); 
    mText = text[metinIndex]; 
    mIndex = 0; 
    tv.setText(""); 
    mHandler.removeCallbacks(characterAdder); 
    mHandler.postDelayed(characterAdder, 20); 
    
    // Buton 
    
    secim=getResources().getStringArray(secimGirisi); 
    btnT.setText(secim[0]); 
    btnF.setText(secim[1]); 
    btnF.setVisibility(View.INVISIBLE); 
    btnT.setVisibility(View.INVISIBLE); 
    
    
    } 
    
+0

более 80.why? –

+0

Просто знать, должна ли база данных соответствовать вашим потребностям. –

ответ

-1

Вы должны использовать this библиотеку

По вашему требованию, ваш код должен выглядеть следующим образом:

MaterialDialog dialog = new MaterialDialog.Builder(this) 
     .content("Hi, how are you?") 
     .positiveText("Good") 
     .negativeText("Bad") 
     .show(); 

    // Handle Good click 
    dialog.onPositive(new MaterialDialog.SingleButtonCallback() { 
     @Override 
     public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { 
      new MaterialDialog.Builder(this) 
      .content("You clicked Good") 
      .positiveText("OK")    
      .show(); 
     } 
    }) 

    // Handle Bad click 
    dialog.onPositive(new MaterialDialog.SingleButtonCallback() { 
     @Override 
     public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { 
      new MaterialDialog.Builder(this) 
      .content("Why feeling bad?") 
      .positiveText("Because he bit me") 
      .negativeText("Because I am wounded") 
      .show(); 
     } 
    }) 

Надежда, что помогает !!

+0

спасибо за попытку помочь, но это не помогло.Моя потребность в первой части придется ждать, пока не будет нажата кнопка. Затем будет активирована вторая часть. И так далее. –

+0

Пробовали ли вы вышеуказанный код. Он делает именно это. –

+2

Нет необходимости в библиотеке ... Что случилось со стандартным AlertDialog? –

0

Вы можете создать фрагменты диалога в своей деятельности, в котором используется AlertDialog, а затем вызвать следующее диалоговое окно с использованием намерения. Вот ссылки на сайт разработчиков Android о диалогах и других намерениях:

Создание диалогового фрагмента: https://developer.android.com/guide/topics/ui/dialogs.html

Intents: https://developer.android.com/guide/components/intents-filters.html

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