坚持第一个简单的Android应用程序

时间:2011-05-28 06:44:41

标签: java android android-widget

长期以来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>

我知道它没有做任何事情,但不确定为什么我已经收到错误。任何帮助都很棒

4 个答案:

答案 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()