2013-03-25 67 views
2

我是一个试图学习Java/Android编程的新手。执行back和cancelbutton的区别?

我在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; 

回答

2

对于取消按钮,您可以使用下面的方法,这会杀死活动。

finish() 

所以在你的代码会是这个样子:

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

有按流程或应用程序流的需求在此相差不大。如果您打开任何对话框并提供取消按钮,将会以相同的方式关闭/解除对话框,而后退按钮则会执行此操作。虽然为了实现Activity,如果你为了关闭当前活动而实现,你可以通过调用finish()方法完成这两个选项。由于后退按钮通常用于完成当前活动并返回。

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

相关问题