我正在做最简单的onClick模型,无法启动onClick方法。我知道这很简单,我是Android新手。任何帮助表示赞赏。
package com.bordeloniphone.timeentry;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class TimeEntryActivity extends Activity implements OnClickListener{
/** Called when the activity is first created. */
Button okButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
okButton = (Button) findViewById(R.id.btnOK);
okButton.setText(":)");
okButton.setOnClickListener(this);
//setContentView(okButton);
}
public void onClick(View v) {
Log.d("TEST", "TEST");
Toast.makeText(this, "TEST", Toast.LENGTH_SHORT).show();
}
}
这是main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btnOK"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="OK" />
</LinearLayout>
答案 0 :(得分:7)
答案 1 :(得分:6)
不要将onClicklistener设置为此,请尝试以下方法:
okButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Log.d("TEST", "TEST");
Toast.makeText(this, "TEST", Toast.LENGTH_SHORT).show();
}
});
答案 2 :(得分:4)
您应该尝试清理项目或尝试重新启动Eclipse或您正在使用的任何其他编辑器,因为它是有效的代码并且应该可以正常工作。
<强>更新强>
此外,您应该检查Logcat,是否获得Log.d("TEST", "TEST");
的输出,因为您的Toast似乎以错误的方式实现。
Toast.makeText(this, "TEST", Toast.LENGTH_SHORT).show(); // wrong
Toast.makeText(Activity_name.this, "TEST", Toast.LENGTH_SHORT).show(); // correct
在监听器内的Toast中使用this
意味着您正在引用监听器,实际情况并非如此。您必须引用活动本身,以便更好地使用Activity_name.this
。
答案 3 :(得分:0)
按钮iv_StyleInspiration_Back =(按钮)findViewById(R.id.iv_StyleInspiration_Back); iv_StyleInspiration_Back.setOnClickListener(本);
试试这个当你在你的活动中实现onclick时,你需要设置如上所述以使其适用于所有控件,并且onclick应该看起来如下所示
@Override
public void onClick(View pView) {
if (null != pView) {
switch (pView.getId()) {
case R.id.iv_StyleInspiration_Back:
//do what you want
break;
default:
break;
}
}
}
答案 4 :(得分:-1)
检查三个步骤:
答案 5 :(得分:-2)
尝试点击按钮
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btnOK"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="OK"
android:clickable="true" />