在android中单击按钮打开新类/活动

在android中单击按钮打开新类/活动,android,Android,如何单击按钮打开另一个活动?因此,现在我的应用程序有一个main窗口(运行应用程序时)。然后有一个带有一些按钮的菜单,当我点击一些按钮时,就会打开这个按钮的另一个活动。 因此,我有一个表单,用户必须输入其详细信息,但现在我想单击按钮continue,打开另一个活动,用户必须在其中输入更多信息。现在,单击此按钮时,信息进入数据库。 我知道如何在普通页面上添加更多的活动,比如main,在这里我只有按钮,但在这个页面上我真的不知道。这是密码 public class Reservation exten

如何单击按钮打开另一个活动?因此,现在我的应用程序有一个
main
窗口(运行应用程序时)。然后有一个带有一些按钮的菜单,当我点击一些按钮时,就会打开这个按钮的另一个活动。 因此,我有一个表单,用户必须输入其详细信息,但现在我想单击按钮
continue
,打开另一个活动,用户必须在其中输入更多信息。现在,单击此按钮时,信息进入数据库。 我知道如何在普通页面上添加更多的活动,比如
main
,在这里我只有按钮,但在这个页面上我真的不知道。这是密码

public class Reservation extends Activity {

String Name;
String Email;
String Phone;
String Comment;
String DateTime;
String numberOfPeople;

private EditText editText1, editText3, editText2, editText4, txtDate, numberOfPeoples; //, txtTime;
private Button btnMenues, btnCalendar, btnTimePicker;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.reservation);

    editText1 = (EditText) findViewById(R.id.personName);
    editText3 = (EditText) findViewById(R.id.personPhone);
    editText2 = (EditText) findViewById(R.id.personEmail);
    editText4 = (EditText) findViewById(R.id.personComment);
    txtDate = (EditText) findViewById(R.id.datePicker);
    numberOfPeoples = (EditText) findViewById(R.id.numberOfPeoples);

    btnCalendar = (Button) findViewById(R.id.btnCalendar);
    //btnTimePicker = (Button) findViewById(R.id.btnTimePicker);
    btnMenues = (Button) findViewById(R.id.continueWithReservation);


    btnMenues.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent intent = new Intent(Reservation.this, ReservationSecond.class);
            intent.putExtra(Name, Name.getBytes().toString());
            intent.putExtra(Email, Email.getBytes().toString());
            intent.putExtra(Phone, Phone.getBytes().toString());
            intent.putExtra(Comment, Comment.getBytes().toString());
            intent.putExtra(DateTime, DateTime.getBytes().toString());
            intent.putExtra(numberOfPeople, numberOfPeople.getBytes().toString());
            startActivity(intent);
        }
    }); 
}
那么我可以在
setOnClickListener
中放入什么来继续下一个活动呢

更新: 如果我改变这个

public void onClick(View v) {
            Name = editText1.getText().toString();
            Phone = editText3.getText().toString();
            Email = editText2.getText().toString();
            Comment = editText4.getText().toString();
            DateTime = txtDate.getText().toString();
            numberOfPeople = numberOfPeoples.getText().toString();
            new SummaryAsyncTask().execute((Void) null);
        }
对此

public void onClick(View v) {
        Intent intent = new Intent(MainActivity.this, Contacts.class);
        startActivity(intent);

    }

如何保留用户为下一个活动添加的信息,并在用户完成第二个活动后保存在数据库中?

您可以使用
意图
,然后使用该
意图调用
startActivity()

myBtn.setOnClickListener() {
    public void onClick() {
        Intent intent = new Intent(this, SecondActivity.class);
        startActivity(intent);
    }
}
解释得很好

编辑

要解决您在评论中提出的问题,在
活动之间传递信息的最简单方法是使用以下附加功能:

Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra(NAME, VALUE);
startActivity(intent);
有多种类型的
putExtra
来适应不同类型的值的传递

另一种存储信息的方法是使用


您还可以创建一个名为
存储
公共
类,并将您的数据表示为该类的
静态
成员(访问方式类似于
存储.MY_data
)因此,它可以从应用程序中的任何点访问。

我在我的
main活动中使用它
,但是如果我在这里使用它,如何传递和存储我已经拥有的信息?我的意思是,如果我进行另一项活动,我会失去它?因此,如果我正确地理解你,我必须定义
Name=editText1.getText().toString();。。和其他
public void onClick()
之外的某个地方以及
onClick
事件中使用
intent.putExtra(名称、值)在多行中添加名称和值。@Goro Yessir。这是一种方法。好的,最后一个问题。你能告诉我在当前代码中我可以在哪里定义它们吗?好的,你现在的方式很好。您全局声明它们,然后在
onClick
中获得它们的值。现在你可以把它们作为额外的,然后调用第二个活动。您定义它们的地方特定于您的编码风格以及应用程序访问这些资源的方式,您唯一需要做的就是在将它们作为附加值传递之前获取值,以确保它们存在,并且您不会最终传递
null
值。