2016-05-26 23 views
0

が動作していない?私setOnLongClickListnerは、私がアンドロイドに新しいですし、私はこれを解決することができ、私はボタンを長くクリックしてテキストを変更しようとしていますが、私は二line.Howのエラーを取得しています

Button b=(Button)findViewById(R.id.button); 
b.setOnLongClickListener(new View.OnLongClickListener() { 
    public void onlongClick(View v) { 
     TextView t = (TextView) findViewById(R.id.textView2); 
     t.setText("text changed!"); 
    } 
}); 
を助けてくださいandroid.widget.Buttonについては
+1

'onLongClick()'メソッドの大文字小文字をチェックしてください。 – FatalError

+0

これは動作しますが、なぜこれが起こっているのか説明できますか?メソッドに任意の名前を付けることができます –

+0

このメソッドの名前は、View.OnLongClickListenerインターフェイスの一部なので変更できません。実装する必要があるため、名前を変更することはできません。 –

答えて

0

、onLongClick、ないonlongClick(資本Lは)

View.OnLongClickListenerインタフェースのonLongClickメソッドをオーバーライドするには、メソッド名を変更することはできません。

正しい構文:

Button b = (Button) findViewById(R.id.button); 
b.setOnLongClickListener(new View.OnLongClickListener() { 
    @Override 
    public boolean onLongClick(View v) { 
     TextView t = (TextView) findViewById(R.id.textView2); 
     t.setText("text changed!"); 
    } 
}); 

より適切すべきは必須ではありませんが、あなたはまた、@Override注釈を含める必要があります。

+0

ok many thanks :) –

0

が、これは長いクリックインターフェースの構文で表示します。あなたはスペルの間違いを持っ​​て

import android.view.View; 
import android.widget.Button; 
... 
Button b = (Button) findViewById(R.id.mybutton); 

b.setOnLongClickListener(new View.OnLongClickListener() { 
    @Override 
    public boolean onLongClick(View v) { 
     ((Button) v).setText("Long pressed"); 
     return false; 
    } 
}); 
関連する問題