2013-06-20 4 views
0

Я хочу добавить wait до, Button (Enter) нажата функция для моего кода. Но я все еще новичок в этом. Я знаю, что в моем коде есть некоторые ошибки, которые я играл с ним, но то, что я хочу сделать, - это когда я нажимаю строку Button Я хочу, чтобы он отображал входные данные X, Y, Z, затем дождался нажатия клавиши ввода выполните оставшуюся часть моего кода, который я хочу добавить. Как бы реализовать в моем коде что-то подобное?Как добавить функцию ожидания до нажатия кнопки?

Вот мой MainActivity Класс:

public class MainActivity extends Activity implements OnClickListener { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button enter = (Button) findViewById(R.id.enter); 
    Button line = (Button) findViewById(R.id.line); 
    Button arc = (Button) findViewById(R.id.arc); 

    line.setOnClickListener(this); 
    enter.setOnClickListener(this); 
    arc.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
    TextView vector = (TextView) findViewById(R.id.point); 
    TextView index = (TextView) findViewById(R.id.index); 
    TextView info = (TextView) findViewById(R.id.info); 
    EditText cl = (EditText) findViewById(R.id.editText1); 
    DrawingUtils call = new DrawingUtils(); 
    switch (v.getId()) { 
    case R.id.line: 
     info.setText("Input X,Y,Z"); 
     // This Is Where the Wait Function Will GO 
     vector.setText(call.addVertice()); 
     index.setText("1"); 

     break; 
    case R.id.enter: 
     String In = cl.getText().toString(); 
     call.setInputCoords(In); 
     break; 
    case R.id.arc: 
     info.setText("Enter Vertice1 "); 
     // Code for entering Vertice1(Also has wait function) 
     info.setText("Enter Vertice2"); 
     // Code for entering Vertice2(Also has wait function) 
     info.setText("Enter Height"); 
     //Code for entering Height(Also has wait function) 

    } 

} 

}

Вот мой DrawingUtils Класс:

public class DrawingUtils { 
String inputCoords; 
String[] vertice; 

public String getInputCoords() { 
    return inputCoords; 
} 

public void setInputCoords(String inputCoords) { 
    this.inputCoords = inputCoords; 
} 

public String addVertice() { 
    int i = 0; 
    vertice = inputCoords.split(","); 
    return vertice[i]; 

} 

}

+0

Возможно выполнить свой код на клавишу ввода нажмите ... – Damian0o

+0

В коде выше, при нажатии кнопки линии, «информация» TextView изменится на «Input X, Y, Z». Затем ничего не произойдет, пока не будет нажата кнопка ввода, и 'String In = cl.getText(). ToString(); call.setInputCoords (In); 'будет выполняться. Разве это не то, что вы хотите? –

+0

Запрет должен быть выполнен с линии. Я буду добавлять в свое приложение другие кнопки, такие как Arc и PolyLine. Все, что я хочу, чтобы Enter вводить, это ввести поплавки. –

ответ

0

Я думаю это то, что вы после , Извините, если нет!

Используйте булевский флаг для управления состоянием в вашем приложении. Таким образом, вы можете выполнить другой код, если что-то произошло.

boolean enterPressed = false;  

@Override 
public void onClick(View v) { 
    TextView vector = (TextView) findViewById(R.id.point); 
    TextView index = (TextView) findViewById(R.id.index); 
    TextView info = (TextView) findViewById(R.id.info); 
    EditText cl = (EditText) findViewById(R.id.editText1); 
    DrawingUtils call = new DrawingUtils(); 
    switch (v.getId()) { 
    case R.id.line: 
     if (enterPressed) { 
      vector.setText(call.addVertice()); 
      index.setText("1"); 
     } 
     else { 
      info.setText("Input X,Y,Z"); 
     } 

     break; 
    case R.id.enter: 
     String In = cl.getText().toString(); 
     call.setInputCoords(In); 
     enterPressed = true; 
     break; 
    case R.id.arc: 
     info.setText("Enter Vertice1 "); 
     // Code for entering Vertice1 
     info.setText("Enter Vertice2"); 
     // Code for entering Vertice2 

    } 

} 
+0

Спасибо, я думаю, что это может сработать, если я могу поместить оператор switch в else и получить идентификаторы для кнопок, которые будут с трудом давать мне гибкость для выполнения кодов для других кнопок, но, как и дуга, есть три вещи, часть, которая, я думаю, собирается дать мне проблемы. –

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