私は2回目の活動を開始できませんでした。 NavigationViewのヘッダにImageButtonを作成します。 これはコードの一部です。私はエラーが発生した場所をコメントしました。私を助けてください。ImageButtonによるNavigationViewのヘッダから2番目のアクティビティを開始するにはどうすればよいですか?
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
ImageButton ib;
NavigationView navigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ib = (ImageButton)findViewById(R.id.imageButton);
navigationView.setNavigationItemSelectedListener(this);
FloatingActionButton fab = (FloatingActionButton)
findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action",
Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open,
R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView)
findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
ib.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
switch (v.getId()){
case R.id.imageButton:
Intent loginActivity=new
Intent(this,LoginActivity.class);//here shows the error on LoginActivity.class
startActivity(loginActivity);
}
}});}
あなたは間違ったコンテキストを渡していると思います。これを試してください: インテントloginActivity =新しいインテント(getContext()、LoginActivity.class); –
エラーメッセージは何ですか? –
E/AndroidRuntime:致命的な例外:メイン プロセス:com.example.john.myapp、PID:12345 java.lang.RuntimeException:アクティビティを開始できませんComponentInfo {com.example ....... –