Очень простой вопрос меню для Android - PullRequest
1 голос
/ 08 августа 2010

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

Экран 1

"Add Numbers"

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

Экран 2

The answer is "____"

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

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

Ответы [ 4 ]

3 голосов
/ 08 августа 2010

Вы можете использовать следующую раскладку для экрана для ввода чисел. Назовите файл 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);
    }
}

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

1 голос
/ 08 августа 2010

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

1 голос
/ 08 августа 2010

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

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

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.

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

0 голосов
/ 08 августа 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...