back和cancelbutton的实现区别?

时间:2013-03-25 10:10:58

标签: java android button destroy

我是一个尝试学习Java / Android编程的新手。

我在Eclipse中为Android做了一个应用程序并创建了一些按钮。 我有一个后退和一个取消按钮。

示例:

我有一个EditText,你可以用你的名字写。如果您编写了您的姓名并按下后退按钮,那么您将返回上一个活动,但如果您转到相同的活动,那么您仍将看到您在EditText中写下的名称。

但是如果你按下取消按钮,你将返回上一个活动,但是当你回来时,你的名字将是空的。我将“杀死”或“停止”活动。

这是我用于Backbutton的代码,你会用什么来取消按钮? 谢谢你。

public void onClick(View v) {
    switch(v.getId()){
    case R.id.buttonBack:
        Intent intent = new Intent (AllActivity.this, MenuActivity.class);
        startActivity(intent);
        break;

3 个答案:

答案 0 :(得分:2)

对于取消按钮,您可以使用以下方法,这将终止活动。

 finish()

所以在你的代码中它看起来像这样:

 public void onClick(View v) {
     switch(v.getId()){
     case R.id.cancel:
         finish();
         break;

答案 1 :(得分:1)

根据流程或应用程序流程的要求,这几乎没有什么区别。对于取消和返回,因为工作是相同的,例如,如果您打开任何对话框并提供取消按钮将关闭/关闭您的对话框相同的方式后退按钮执行此操作。虽然为了实现Activity,如果你实现关闭当前活动,你可以通过调用finish()方法完成这两个选项。由于后退按钮通常用于完成当前活动并返回。

答案 2 :(得分:1)

您可能感兴趣的另一种方法是自己清除EditText的内容。 您需要在xml文件中包含为EditText定义的ID,以便您可以以编程方式访问它。

<EditText

布局内容:

    android:layout_width="fill_parent"

... 然后是id属性

    android:id="@+id/edit_text_id"
    >

然后在你的代码中,你将把以下内容放在你的类中(不在任何方法中):

EditText anEditText;

然后在你的onCreate()中,在布局膨胀之后(如果预先出现它将导致应用程序崩溃):

anEditText = (EditText) findViewById(R.id.edit_text_id);

名称edit_text_id不重要,但它是我们在布局文件中使用的

接下来添加onClick方法取消(在case语句之后):

//this wipes the text from the textbox
anEditText.setText("");
// add the rest of the back button code after this and your good!

祝你好运!请记住,我们曾经都是新手。如果你想成为一名优秀的android程序员,我建议你首先获得Java的强大背景。这本免费的书给了我很多帮助!

Java Notes