2013-03-03 81 views
0

我有下面的代码,我不能找到一种方法来摆脱这些错误的:错误在Mainactivity.java

在类型视图的方法setOnClickListener(View.OnClickListener)不适用的参数(MainActivity)

这适用于线17,18,19,20,21,22,23,24,含有25:

findViewById(R.id.imageButton9).setOnClickListener(this); 

在线路31(线,其中新班级我s ^创建),我得到:

嵌套式MainActivity不能隐藏封闭类型

这是我的工作代码:

package com.example.rome; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.widget.EditText; 
import android.widget.Button; 
import android.view.View; 
import android.widget.Toast; 

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    findViewById(R.id.imageButton1).setOnClickListener(this); 
    findViewById(R.id.imageButton2).setOnClickListener(this); 
    findViewById(R.id.imageButton3).setOnClickListener(this); 
    findViewById(R.id.imageButton4).setOnClickListener(this); 
    findViewById(R.id.imageButton5).setOnClickListener(this); 
    findViewById(R.id.imageButton6).setOnClickListener(this); 
    findViewById(R.id.imageButton7).setOnClickListener(this); 
    findViewById(R.id.imageButton8).setOnClickListener(this); 
    findViewById(R.id.imageButton9).setOnClickListener(this); 



} 

class MainActivity extends Activity implements View.OnClickListener { 

    @Override 
    public void onClick(View v){ 
     switch(v.getId()){ 
     case R.id.R.id.imagebutton1: 
      startActivity(new Intent(telefoonnummers.class)); 
      break; 
     case R.id.R.id.imagebutton2: 
      startActivity(new Intent(telefoonnummers.class)); 
      break; 
     //-- more cases -- 
     case R.id.R.id.imagebutton9: 
       startActivity(new Intent(telefoonnummers.class)); 
       break; 
     } 
    } 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 

} 
+2

为什么要声明两次MainActivity? – 2013-03-03 17:07:34

+1

你真的需要退后一步,熟悉Java。也许你应该继续以Android SDK为导向。你的代码有一些荒谬的问题。 – 2013-03-03 17:19:08

+0

我会这样做,但你能帮我解决最后一个错误:构造函数Intent(Class )未定义 – Ide 2013-03-03 17:24:47

回答

3

删除错误的类定义:

class MainActivity extends Activity implements View.OnClickListener { 

并将implements View.OnClickListener添加到实际类定义中:

public class MainActivity extends Activity implements View.OnClickListener { 
//  Add this to the "real" MainActivity ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

花点时间,以确保你有适当逢括号({})。

+0

非常感谢,但我仍然得到这些:\t 构造函数Intent(Class )是 R无法解析或不是字段 – Ide 2013-03-03 17:13:19

+1

@Ide'R.id.R.id.imagebutton2:'和朋友应该只是'R.id.imagebutton2:',所以拿出重复的' R.id.' – 2013-03-03 17:15:40

+0

谢谢,我想我会检查我所有的其他文件的重复:p,你也知道该怎么做才能摆脱第一个错误?: 构造函数Intent(Class )是undefined – Ide 2013-03-03 17:18:34