2013-03-03 80 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