ユーザがImageview
をクリックした場合、popup menu
を表示します。いずれか私はIllegalStateException
またはコードがコンパイルされません。ユーザーが画像ビューをクリックしたときにポップアップメニューを表示したい。どちらかがIllegalStateExceptionを取得するか、コードがコンパイルされない
これは私がImageview
と宣言した行にNullPointerException
と表示されています。しかし、そのメソッドを実装すると、コードはコンパイルされません。 onCreateOptions
も動作していません。エラーを修正してください。
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(toolbar);
// Set the content of the activity to use the activity_main.xml layout file
setContentView(R.layout.app);
imageView = (ImageView) findViewById(R.id.aaa);
// Find the view pager that will allow the user to swipe between fragments
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
// Create an adapter that knows which fragment should be shown on each page
WhatsappFragmentPagerAdapter adapter = new WhatsappFragmentPagerAdapter(this, getSupportFragmentManager());
// Set the adapter onto the view pager
viewPager.setAdapter(adapter);
// Give the TabLayout the ViewPager
TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs);
tabLayout.setupWithViewPager(viewPager);
}
public void showPopup(View v) {
PopupMenu popup = new PopupMenu(this, v);
// This activity implements OnMenuItemClickListener
popup.setOnMenuItemClickListener((PopupMenu.OnMenuItemClickListener) this);
popup.inflate(R.menu.app_menu);
popup.show();
}
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.main:
startActivity(new Intent(App.this, App_Main.class));
return true;
case R.id.help:
startActivity(new Intent(App.this, App_Main.class));
return true;
default:
return false;
}
}
あなたのonClickイベントも、言及した他の人のように、動作しません。事前に感謝
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(toolbar);
// Set the content of the activity to use the activity_main.xml layout file
setContentView(R.layout.app);
// Find the view pager that will allow the user to swipe between fragments
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
// Create an adapter that knows which fragment should be shown on each page
WhatsappFragmentPagerAdapter adapter = new WhatsappFragmentPagerAdapter(this, getSupportFragmentManager());
// Set the adapter onto the view pager
viewPager.setAdapter(adapter);
// Give the TabLayout the ViewPager
TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs);
tabLayout.setupWithViewPager(viewPager);
}
ImageView imageView = (ImageView) findViewById(R.id.aaa);
public void showPupup(View v) {
PopupMenu popup = new PopupMenu(this, v);
// This activity implements OnMenuItemClickListener
popup.setOnMenuItemClickListener((PopupMenu.OnMenuItemClickListener) this);
popup.inflate(R.menu.app_menu);
popup.show();
}
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.main:
startActivity(new Intent(App.this, App_Main.class));
return true;
case R.id.help:
startActivity(new Intent(App.this, App_Main.class));
return true;
default:
return false;
}
}
}
<ImageView
android:id="@+id/aaa"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/whatsapp_settings"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dp"
android:onClick="showPopup" />
ミスマッチ名* showPupup *が必要* showPopup *、それを確認できますか? –