2015-05-30 50 views
1

我想在按鈕上設置OnClickListener來獲取選中的複選框,但我在這裏得到這個錯誤我該如何解決它?onClick(View)類型new OnClickListener(){}的方法必須覆蓋或實現一個超類型方法

  • OnClickListener不能解析爲一個類型
    • 在類型視圖的方法setOnClickListener(View.OnClickListener)是不適用的參數(新 OnClickListener(){}) -The方法的onClick類型新OnClickListener(的(風景)){}必須重寫或實現的超類型方法

我的方法在MainActivity:

private void createRadioButton(final ArrayList<Integer> items) { 

     final LinearLayout ll = (LinearLayout) findViewById(R.id.lila); 
     for (int i = 0; i < items.size(); i++) { 
      CheckBox cb = new CheckBox(this); 
      cb.setText(items.get(i) + ""); 
      cb.setId(i); 
      ll.addView(cb); 

     } 
     Button btn = new Button(this); 
     btn.setLayoutParams(new LinearLayout.LayoutParams(500, 150)); 
     btn.setText("submit"); 
     ll.addView(btn); 

     btn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       System.out.println("I have already overridden it. "); 

      } 
     }); 


    } 

回答

1
private void createRadioButton(final ArrayList<Integer> items) { 

    final LinearLayout ll = (LinearLayout) findViewById(R.id.lila); 
    for (int i = 0; i < items.size(); i++) { 
     CheckBox cb = new CheckBox(this); 
     cb.setText(items.get(i) + ""); 
     cb.setId(i); 
     ll.addView(cb); 

    } 
    Button btn = new Button(this); 
    btn.setLayoutParams(new LinearLayout.LayoutParams(500, 150)); 
    btn.setText("submit"); 
    ll.addView(btn); 

    **btn.setOnClickListener(new View.OnClickListener()** { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      System.out.println("I have already overridden it. "); 

     } 
    }); 


} 

只是更換新的OnClickListener()到新View.OnClickListener()

2

您不必View.OnClickListener你在你的Java文件的頂部import語句列表。地址:

import android.view.View.OnClickListener; 
+0

只是好奇,你怎麼知道它已經歐普尚未反正出了嗎? –

+0

@AtolOHolic:基於錯誤消息。 「不能解析爲」缺少「import」的類型「==」。 – CommonsWare

+0

@Atuloholic他是那個聰明人,相信它。 :) – Elltz

相關問題