2017-11-23 20 views
1

AndroidスタジオのボタンにOnClickListener()を追加しようとしましたが、上記のエラーが表示され、-source 8以上に変更されました。Androidスタジオ:エラー:タイプ注釈がサポートされていません

以下のコードの問題は何ですか?

public class MainActivity extends AppCompatActivity 
{ 
    public Button butTest; 

//---- THIS BLOCK HERE CAUSES PROBLEM ----> 
    public final View.OnClickListener butTest_OnClickListener = new View.OnClickListener() 
    { 
    @Override 
    public void onClick(View view) 
    { 
     //Toast.makeText(this, "Button1 clicked.", Toast.LENGTH_SHORT).show(); 
    } 
    } 
// <<------ END OF PROBLEM 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    butTest = (Button) findViewById(R.id.butTest); 
    butTest.setOnClickListener(butTest_OnClickListener); 
    } 
} 

答えて

1

メソッド(onCreateなど)内に配置する必要があります。あなたは次のようにすることができます:

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    butTest = (Button) findViewById(R.id.butTest); 

    butTest.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View view) 
     { 
      //Toast.makeText(this, "Button1 clicked.", Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 

希望に役立ちます。

+0

うわー。 Eclipseでこれまでに書いたアプリがあり、メソッドのスコープではなくクラスのスコープでリスナーを宣言していたと確信しています。ありがとう。 – SparkyNZ

関連する問題