我对Android和Java非常陌生,但这个网站直到现在一直帮助我,所以非常感谢大家!
我正在构建一个有两个选项卡的应用程序,在一个选项卡中我创建了一些按钮,在相应的活动中我有一个OnClickListener。当我运行应用程序时,它强制关闭,我收到错误:
ERROR/AndroidRuntime(25971): java.lang.IllegalStateException: Could not find a method myClickHandler(View) in the activity class com.test.rate.MainActivity for onClick handler on view class android.widget.Button with id 'CalculateButton'
这可能很简单但有帮助!
好的,我应该添加一些代码:
活动:
public class MetricActivity extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.metriclayout);
final Button button = (Button) findViewById(R.id.CalculateButton);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
标签布局中的按钮:
<Button android:layout_height="wrap_content" android:text="Calculate" android:layout_width="wrap_content" android:id="@+id/CalculateButton" android:onClick="myClickHandler" android:layout_gravity="center"></Button>
答案 0 :(得分:1)
您是否在xml文件中为布局定义了onclick方法,或者您是否在激活中设置了OnClickListener?或两者兼而有之?
http://developer.android.com/reference/android/view/View.html#attr_android:onClick
好像你可能已经为myClickHandler定义了onclick xml属性,但你从未实现过该方法。
答案 1 :(得分:0)
我猜你可能在你的xml文件中设置了android:clickable =“true”,然后你没有在你的活动中定义一个onClickListener。在您的活动的onCreate()方法中,为您的按钮定义onClickListener:
Button btn = (Button) findViewById(R.id.yourbuttonid);
btn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
//do whatever when your button is clicked
}
});
答案 2 :(得分:0)
你不需要:
android:onClick="myClickHandler"
清除它,其余的都没问题。
答案 3 :(得分:0)
在这里查看问题和答案:Using Intent in an Android application to show another activity。它们分别针对第2点和第3点。