2016-04-20 20 views
-1

私は次のコードを持っています。実行するたびに、残念ながら停止しましたというメッセージが表示されます。前に走っていましたが、今はありません。私は自分のプログラムに間違いがない。どのような問題が起こっているのでしょうか?以下は私のコードです:メインの活動でAndroidスタジオ:仮想メソッド 'void android.widget.button.setonclicklistenerを呼び出そうとします。

コード:

package com.example.maria.maria_caruana_1bsc5; 


public class AddContact extends AppCompatActivity { 

    public static final int REQUEST_CODE_ContactsMain=3; 

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

     Button b1 = (Button) findViewById(R.id.btnGoBack); 
     b1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View d) { 

       Intent i = new Intent(d.getContext(), ContactsMain.class); 

       startActivityForResult(i, REQUEST_CODE_ContactsMain); 
      } 
     }); 

    } 
} 
+1

'Intent'に' getApplicationContext() 'を使うことができます。単にこの 'Intent i = new Intent(getApplicationContext()、ContactsMain.class);'を試してください。 –

答えて

1

変更:ボタンがクリックされたときに、メッセージが、残念ながらなど。

public class ContactsMain extends AppCompatActivity { 

public static final int REQUEST_CODE_AddContact=1; 

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

    Button b = (Button) findViewById(R.id.addContact); 
    b.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View a) { 

      Intent i = new Intent(a.getContext(), AddContact.class); 

      startActivityForResult(i, REQUEST_CODE_AddContact); 
     } 
    }); 
} 

}

活動AddContactコードを示しますonClickオーバーライドメソッドのintentは次のようになります。

Intent i = new Intent(ContactsMain.this, AddContact.class); 

他のクラスと同様です。

関連する問題