长期以来Android用户第一次开发。我试图简单地设置我的app的第一个动作,即两个按钮,一个将打开浏览器并将用户发送到一个URL,另一个将打开一个从URL获取XML数据并显示一个节点的值的页面。
但我现在只想知道为什么我会收到以下错误:
Description Resource Path Location Type
The type new View.OnClickListener(){} must implement the inherited abstract method View.OnClickListener.onClick(View) patriosar.java /com.patriotsar/src/com/patriotsar line 27 Java Problem
JAVA:
package com.patriotsar;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.widget.Button;
import android.widget.TextView;
public class patriosar extends Activity {
private Button startButton;
private Button subscribe;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.findAllViewsById();
startButton.setOnClickListener(new OnClickListener() {
});
subscribe.setOnClickListener(new OnClickListener() {
});
private void findAllViewsById() {
start = (Button) findViewById(R.id.startbutton);
subscribe = (Button) findViewById(R.id.subscribe);
}
}
}
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bgimage2">
>
<Button
android:id="@+id/startButton"
android:layout_width="150px"
android:layout_height="wrap_content"
android:text="@string/start"
android:layout_x="80px"
android:layout_y="21px"
>
</Button>
<Button
android:id="@+id/subscribe"
android:layout_width="150px"
android:layout_height="wrap_content"
android:text="@string/subscribe"
android:layout_x="80px"
android:layout_y="74px"
>
</Button>
<TextView
android:id="@+id/textview"
android:layout_width="300px"
android:layout_height="fill_parent"
android:text="@string/intro"
android:layout_y="300px"
android:layout_x="20px"
android:textColor="#ffffff"
/>
</AbsoluteLayout>
我知道它没有做任何事情,但不确定为什么我已经收到错误。任何帮助都很棒
答案 0 :(得分:2)
每个侦听器中都需要一个onClick()方法:
startButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
...do stuff...
}
});
答案 1 :(得分:1)
除了onClick之外,您可以在扩展Activity并实现onclick()方法后实现View.OnClickListener。
如果您使用eclipse,它将引导您完成错误!
答案 2 :(得分:1)
您可以实施:
startButton.setOnClickListener(new View.OnclickListener(){
public void onClick(){
// do your thing
}
}
或者你可以这样做:
startButton.setOnclickListener(this);
public void onClick(){
switch(id){
case R.id.startbutton : //do your thing
break;
case R.id.subscribe : //do your thing
break;
}
}
你需要为你的活动实现OnclickListener,但如果你有Eclipse,它是自动的。
答案 3 :(得分:0)
您只需在onClickListeners
中实现onClick()