这将是一个真正的noob问题,所以请怜悯.我正在尝试在
Android中的按钮单击事件上创建一个消息框.我已经阅读了StackOverflow的一些例子,但我似乎无法掌握这个概念.在我的main.xml文件中,我已经定义了按钮xml,如下所示:
<Button android:id="@+id/btnOK" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Display Message" android:onClick="onBtnClicked" />
我在其中一篇文章中读到了我需要在XML布局中注册onClick事件.这就是我认为我在上面的XML代码中所做的.然后,在我的java代码文件中,我编写了以下代码:
package com.example.helloandroid; import android.app.Activity; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onBtnClicked(View v) { if(v.getId() == R.id.btnOK) { MessageBox("Hello World"); } } public void MessageBox(String message) { Toast.makeText(this,message,Toast.LENGTH_SHORT); } }
对我而言,这是有道理的.但是,当我单击按钮时,不会显示消息框.从上面的代码导入中,您可以看到我已经尝试了一些解决方案而没有成功.我可能错过了听众吗?我认为XML代码中的定义会为我创建这个吗?
提前致谢 :-)
解决方法
更改
Toast.makeText(this,Toast.LENGTH_SHORT);
至
Toast.makeText(this,Toast.LENGTH_SHORT).show();
show()确保你实际显示Toast,否则你只是创建Toast.