2011-09-17 53 views
0

說我有這個代碼,它創建一個ImageView並將其放入一個線性佈局。在OnClickListener中它提供了 - 「構造函數ImageView(new View.OnClickListener(){})未定義」?

而且我有一個是應該,在點擊一個onclick監聽器,刪除舊的ImageView,並用新的替換它。

但奇怪的是它顯示 「構造ImageView的(新View.OnClickListener(){})是不確定的」。

final LinearLayout LinLayBtn = new LinearLayout(this); 
ImageView ivBtn = new ImageView(this); 
ivBtn = mkatt.makeKey(ivBtn, btnHue, btnSat, buttonScale, buttonScaleCnt, textAdjust, btnTextColor, buttonText, btnOpa, spacingLR, spacingTB); 
LinLayBtn.addView(ivBtn); 

LinLayBtn.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 

     LinLayBtn.removeAllViews(); 
     ImageView ivBtn = new ImageView(this); // The constructor ImageView(new View.OnClickListener(){}) is undefined 
     ivBtn = mkatt.makeKey(ivBtn, btnHue, btnSat, buttonScale, buttonScaleCnt, textAdjust, btnTextColor, buttonText, btnOpa, spacingLR, spacingTB); 
     LinLayBtn.addView(ivBtn); 

    } 
    }); 

任何想法如何處理它?

謝謝!

+0

警告:要定義'ivBtn'兩次。 'onClick()'方法中,一次作爲字段,另一個作爲局部變量。 –

回答

6

在ImageView的構造this是OnClickListener實例。您需要將它傳遞給Activity類的實例(即外部類)。假設你的外部類被稱爲MyActivity,那麼你應該通過MyActivity.this到ImageView的構造

+0

謝謝你,作品! :) – Roger

相關問題