아래와 같이 popup menu객체를 하나 새로 생성해줬구요
다른 activity창에서 이것을 불러와서 실행시키려고 하는데 작동이 안되네요
context.startactivity로 실행하면 되지 않나요??
오류코드, 실행코드, 해당객체 순서입니다.
10-27 11:59:21.379 32283-32283/com.example.hoyun.feed W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x418e1360)
10-27 11:59:21.439 32283-32287/com.example.hoyun.feed D/dalvikvm: GC_CONCURRENT freed 105K, 10% free 13387K/14855K, paused 12ms+12ms, total 49ms
10-27 11:59:21.449 32283-32283/com.example.hoyun.feed E/AndroidRuntime: FATAL EXCEPTION: main
10-27 11:59:21.449 32283-32283/com.example.hoyun.feed E/AndroidRuntime: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
10-27 11:59:21.449 32283-32283/com.example.hoyun.feed E/AndroidRuntime: at android.app.ContextImpl.startActivity(ContextImpl.java:978)
10-27 11:59:21.449 32283-32283/com.example.hoyun.feed E/AndroidRuntime: at android.app.ContextImpl.startActivity(ContextImpl.java:972)
10-27 11:59:21.449 32283-32283/com.example.hoyun.feed E/AndroidRuntime: at android.content.ContextWrapper.startActivity(ContextWrapper.java:283)
10-27 11:59:21.449 32283-32283/com.example.hoyun.feed E/AndroidRuntime: at com.example.hoyun.feed.Profile_Popup$1.onMenuItemClick(Profile_Popup.java:27)
Profile_Popup pop = new Profile_Popup();
pop.showFilterPopup(v,getApplicationContext());
public class Profile_Popup {
// Display anchored popup menu based on view selected
public void showFilterPopup(final View v,final Context context) {
PopupMenu popup = new PopupMenu(context, v);
// Inflate the menu from xml
popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());
// Setup menu item selection
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_keyword:
if (v.getId() == R.id.edit) {
Intent intent = new Intent(context, Join2.class);
intent.putExtra("Pro", "2");
context.startActivity(intent);
} else if (v.getId() == R.id.edit1) {
Intent intent = new Intent(context, RegisterPeople.class);
intent.putExtra("pro", "3");
context.startActivity(intent);
} else if (v.getId() == R.id.edit2) {
Intent intent = new Intent(context, RegisterRoom.class);
intent.putExtra("pro","4");
context.startActivity(intent);
}
return true;
case R.id.menu_popularity:
Toast.makeText(context, "Popularity!", Toast.LENGTH_SHORT).show();
return true;
default:
return false;
}
}
});
// Handle dismissal with: popup.setOnDismissListener(...);
// Show the menu
popup.show();
}
}