Как вызвать много раз диалоговое окно Java

257
27 ноября 2017, 18:06
package edu.zntu.mmm;
import java.util.Calendar; 
import android.app.Activity; 
import android.app.AlertDialog; 
import android.app.DatePickerDialog; 
import android.app.DatePickerDialog.OnDateSetListener; 
import android.app.TimePickerDialog; 
import android.app.TimePickerDialog.OnTimeSetListener; 
import android.content.DialogInterface; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.DatePicker; 
import android.widget.TextView; 
import android.widget.TimePicker; 
import android.widget.Toast; 
public class MainActivity extends Activity implements OnClickListener{ 
    TextView tvStart; 
    int right = 21; 
    int left = -1; 
    int currentNum; 
    @Override 
    protected void onCreate(Bundle savedInstanceState){ 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        tvStart = (TextView) findViewById(R.id.tvStart); 
        tvStart.setOnClickListener(this); 
    } 
    @Override 
    public void onClick(View v){ 
        String p = Integer.toString(currentNum); 
        switch(v.getId()){ 
            case R.id.tvStart: 
                AlertDialog.Builder aDb = new AlertDialog.Builder(MainActivity.this); 
                View Builder = getLayoutInflater().inflate(R.layout.activity_main,null);    
                currentNum = (left + right) / 2;     
                aDb.setMessage("Ваше число " + currentNum); 
                aDb.setCancelable(false); 
                aDb.setPositiveButton("<", new DialogInterface.OnClickListener(){ 
                    @Override 
                    public void onClick(DialogInterface dialog, int which){ 
                        right = currentNum;
                    } 
                }); 
                aDb.setNeutralButton("=", new DialogInterface.OnClickListener(){ 
                    @Override 
                    public void onClick(DialogInterface dialog, int which){ 
                        Toast.makeText(MainActivity.this, "Угадали", Toast.LENGTH_LONG).show(); 
                        left = 0; 
                        right = 20; 
                    } 
                }); 
                aDb.setNegativeButton(">", new DialogInterface.OnClickListener(){ 
                    @Override 
                    public void onClick(DialogInterface dialog, int which){ 
                        left = currentNum; 
                        if(currentNum>19){
                            Toast.makeText(MainActivity.this, "Ошибочка", Toast.LENGTH_LONG).show(); 
                        }       
                    } 
                }); 
                AlertDialog aD = aDb.create(); aD.show(); 
                break; 
            }

Принцип работы: мы загадали число от 0 до 20 (в уме). Нажимаем на TextView, вызывается диалоговое окно с надписью: "ваше число N ?". Жмем кнопку "меньше", "больше", "равно", до тех пор пока не нажмем "=". Но проблема в том, что надо нажимать каждый раз на TextWiew.

Как сделать так, чтобы после нажатие кнопки диалоговое окно вызывалось само?

Answer 1

Вызывайте onClick(tvStart); где надо, чтобы симулировать нажатие вместо пользователя.

READ ALSO
Fancytree загрузка дерева

Fancytree загрузка дерева

Использую FancytreeВ левом диве дерево, в правом таблица с данными из базы

278
select jquery плагин с поддерржкой аттрибута required

select jquery плагин с поддерржкой аттрибута required

Не удается найти замену стандартному select'у, чтобы соответствовал требованиям:

262
не срабатывает required

не срабатывает required

После подключения скрипта обработки формы, перестает работать required

272