卡在第一个简单的android应用上

问题描述

| 长期的Android用户首次开发人员。我试图简单地设置我的应用程序的第一手操作,这是两个按钮,一个将打开浏览器并将用户发送到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);
        }

    }
}
文件
<?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>
我知道它什么也没做,但是不确定为什么我已经出错了。任何帮助都是极好的     

解决方法

        您可以实现:
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,它将是自动的。     ,        每个侦听器内部都需要一个onClick()方法:
    startButton.setOnClickListener(new OnClickListener() {            
        public void onClick(View v) {
            ...do stuff...
        }
    });
    ,        除了onClick之外,您还可以在扩展Activity后实现View.OnClickListener并实现onclick()方法。 如果您使用eclipse,它将引导您解决错误!     ,        您只需要在onClickListeners内部实现onClick()