2014-07-17 31 views
0

以前的代碼片段已經被隨機網站和StackOverflow的答案寫下來,但不知何故無法正常工作。我應該補充說,我是製作應用程序的絕對初學者,而且我對Java的使用經驗也非常有限。Android onClickListener - Android Studio錯誤還是我自己的錯誤?

的錯誤是:

  • 「setOnClickListener」:標記爲紅色。
  • 「public void onClick(View v){」:這裏「v」標記爲紅色,對於某些 原因。它繼續在「String text = v.toString();」中顯示爲紅色。
  • 該程序還在 片段的末尾找到了我的分號冗餘。

我正在使用OpenJDK在基本操作系統上使用Android Studio的測試版。

Button button_1 = (Button) findViewById(R.id.btn_1); 
    button_1.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      String text = v.toString(); 
      displayPassword(text); 
     } 
    }); 

我可以犯任何錯誤,這是肯定的。但任何在正確的方向微調將非常感激。

+0

爲什麼選擇「View.OnClickListener」?你有沒有導入視圖和按鈕類型? – HectorLector

+0

你刪除了button_1.setOnClickListener(View.OnClickListener(){},只是button_1.setOnClickListener(新的OnClickListener(){}可以 –

+0

v.toString(),考慮它..... – nobalG

回答

2

我的建議是:將onClick設置爲XML文件,並在當前類中創建該方法。

<Button 
    android:id="@+id/btn_1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="click" /> 

public void click(View arg0) { 
} 
0

我相信你需要@Override onClick方法。

Button button_1 = (Button) findViewById(R.id.btn_1); 
    button_1.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     String text = v.toString(); 
     displayPassword(text); 
    } 
}); 
+0

我用@Override ,被標記爲紅色。「註釋不允許在這裏」 –

+0

然後你確實有什麼錯誤 –

0

只要按下「Ctrl + Shift + O」,並增加1個庫,你在屏幕上顯示的概率解決

1

與圖表同意,你應該有@Override OnClick方法。不知道那裏有什麼問題。實際上,當我將你的例子輸入到Android Studio中時,我將3個字母輸入到OnClickListener中,並自動填充其餘的部分,包括@Override。

button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String text = v.toString(); 
      // do something with the text. 
     } 
    }); 

另外,我不認爲v.toString()會給你任何有用的信息。如果你想要的文字關閉按鈕,你會想將它轉換爲一個按鈕,然後調用的getText():

Button button = (Button) v; 
String text = button.getText().toString(); 

或者,你可以這樣做:

String text = ((Button)v).getText().toString(); 

簡單地調用v .toString()會讓你看到那個按鈕的描述,而不是它上面的文本。

+0

在我的版本中可能存在一些缺陷,應該會看到更新,並且是的,我知道關於文本,它只是爲了在屏幕上獲取一些東西,修復了我解決按鈕問題後不久。:) –

+0

酷酷。是的,我認爲這可能是您的項目設置中的一個缺陷。我不知道它是否導入了其他類型的Button(沒有OnClickListener的)。祝你好運。我使用Android Studio時,項目結構問題非常普遍。 – MrPlow