Очень простой вопрос меню для Android

1

У меня очень простой вопрос об управлении меню в Android. Я пишу программу, которая выполняет некоторые простые числовые вычисления и выводит ответ. Мой вопрос в том, как заставить программу перейти на второй экран при нажатии кнопки и как я могу позволить пользователю вернуться к исходному экрану. Вот быстрый пример

Экран 1

"Add Numbers"

Input 1st # ____       
Input 2nd # ____      
(Add) 

Экран 2

The answer is "____"

Пользователь вводит два целых числа. нажимает add, а затем программа переходит на второй экран, на котором отображается ответ. Если они хотят, они могут вернуться на первый экран и начать все сначала.

Я знаю, что это было покрыто, но с таким количеством ресурсов я не знаю, что искать. Ответы или ссылки на ресурсы были бы наиболее полезными. Спасибо!

  • 1
    Какой язык / платформа?
  • 1
    Какую платформу, язык и технологии вы используете? Консоль ввода / вывода, а C? .NET WPF на Windows?
Теги:
user-interface

4 ответа

3
Лучший ответ

Вы можете использовать следующий макет экрана для ввода чисел. Назовите файл first.xml.

  

  <TextView
        android:id="@+id/firstnumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Input Ist:"
        android:textSize="20px"
        android:textStyle="bold"
        />

 <EditText 
         android:id="@+id/first"
         android:layout_height="wrap_content"
         android:layout_width="250px"

   /> 

    <TextView 
         android:id="@+id/secondnumber"
         android:text = "Input 2nd"  
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textSize="20px"
         android:textStyle="bold"
         />     

    <EditText 
              android:id="@+id/second"
                  android:layout_height="wrap_content"
                  android:layout_width="250px"

      /> 

     <Button 
          android:id="@+id/add_button"
              android:text="Add"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textSize="15px"
              android:layout_centerHorizontal="true"

              /> 

</LinearLayout>

Чтобы добавить эти числа

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first);
         Button add = (Button) findViewById(R.id.add);
        add.setOnClickListener(this);
        EditText num1 = (EditText)findViewById(R.id.first);
        EditText num2 = (EditText)findViewById(R.id.second);
}

Код прослушивателя кликов

public void onClick(View v) {

                int n1 = Integer.parseInt(num1.getText().toString());
                int n2 = Integer.parseInt(num2.getText().toString());
                int result = n1 + n2;
                String res = Integer.toString(result);
                                Intent intent = new Intent(getApplicationContext(), Result.class);
                                intent.putExtra("result", result); //Passing the result to the second activity using intent
                startActivity(intent);
                }

В классе Result.java.

public class Result extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.result);
            Intent intent = getIntent();
                String result = intent.getStringExtra("result");
                TextView t1 = (TextView)findViewById(R.id.result);
                t1.setText(result);
    }
}

Надеюсь, что это поможет.

  • 0
    Вероятнее всего. Вы дали мне прямой пример именно того, что мне было нужно. Эта отправная точка мне очень помогает. Большое спасибо!
1

ViewFlipper будет работать хорошо. Вы также можете попробовать "startActivityForResult" передать ваши ответы на следующий экран.

1

Могу ли я узнать, какой язык вы используете? Недавно я только что сделал это с С#. Мой поток заключается в том, что когда я запускаю программу, он автоматически будет принудительно подключен ко второму экрану с некоторыми параметрами питания.

Но если вы просто перемещаете программу на экраны diff, в С# это будет легко.

Screen Srn = Screen.PrimaryScreen; // gives your information of Primary Screen.

Screen[] Srn = Screen.AllScreens; //gives u an array of all your available screen( srn[0] is primary screen, etc)

Итак, используя intellisense из IDE, вы должны иметь возможность получить ширину, высоту и т.д. Не могу точно помнить, но что-то вроде src.width или src.bounds.width.

Самый простой способ переместить вашу программу - переместить ось х программы на соответствующий экран.

0

Взгляните на класс ViewFlipper. Он работает как вкладки, но без пользовательского интерфейса вкладок. Вы можете использовать макет xml для отображения ваших 2 (или более) экранов и showNext() или showPrevious() для переключения между экранами.

  • 0
    Большое спасибо за ссылки! Я сейчас прочитал документацию, и я буду перечитывать ее, чтобы получить полное понимание.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню