2016-08-25 4 views
0

非常に単純なことでエラーが発生します。レイアウトを変更するためにテストボタンとonClickメソッドを作成しました。あなたが私の問題をよりよく理解できるように、簡単な方法でそれを行いました。親または祖先のコンテキストでOnclickメソッドが見つかりません

これは私のボタン方式

public void accountButton (View v){ 
    setContentView(R.layout.activity_start); 
} 

であり、これは私がボタン

のjavaをクリックしたときに、私は次のエラーを取得する私のボタンのxmlファイル

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Test" 
    android:id="@+id/button" 
    android:layout_below="@+id/welcomeTxt" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="149dp" 
    android:onClick="accountButton" 
    android:nestedScrollingEnabled="true" /> 

です。 lang.IllegalStateException:親または祖先の accountButton(View)を見つけることができませんでしたのコンテキストアンドロイド:onClickのidを持つビュークラス android.support.v7.widget.AppCompatButtonに定義された属性 'ボタン'

+4

もあなたのアクティビティコードを投稿してください。 –

答えて

1

あなたは。あなたは、setContentView(Rを呼び出す必要がありボタンのonClick() mentod内setContentView(R.layout.activity_start);を呼び出すべきではありません.layout.activity_start);内側にはoncreate()方法があります。

これを達成するための手順に従います。

  1. onCreate()

    Button button = (Button) findViewById(R.id.button); 
    
  2. でボタンが、その後ボタン

    btn.setOnClickListener() 
    
  3. ためsetOnClickListener()方法を設定して初期化し、あなたのクラスでOnClickListenerを実装メソッドを呼び出すoncreate()の外側

    public void accountButton (View v){ //do some thing which you want } 
    
関連する問題