我试试这两个库来创建我的android应用程序NewQuickAction和NewQuickAction3D中的按钮菜单。安卓菜单库:NewQuickAction3D没有工作
使用它们的代码是相同的! 但是,如果使用NewQuickAction它正常工作,而不是如果我改变外部库在我的项目,我用NewQuickAction3D,它不工作,返回此错误:
FATAL EXCEPTION: main java.lang.NullPointerException at net.londatiga.android.QuickAction.addActionItem(QuickAction.java:213)
的代码是:
ActionItem myLocationItem = new ActionItem(ID_MY_LOCATION, "Mia posizione", getResources().getDrawable(R.drawable.location));
ActionItem nearestItem = new ActionItem(ID_NEAREST_STATION, "Stazione piu vicina", getResources().getDrawable(R.drawable.location));
ActionItem activeGpsItem = new ActionItem(ID_ACTIVE_GPS, "Attiva GPS", getResources().getDrawable(R.drawable.gps));
// constructor for NewQuickAction
final QuickAction mQuickAction = new QuickAction(this);
// constructor for NewQuickAction3D
//final QuickAction mQuickAction = new QuickAction(this, QuickAction.VERTICAL);
mQuickAction.addActionItem(myLocationItem);
mQuickAction.addActionItem(nearestItem);
mQuickAction.addActionItem(activeGpsItem);
//setup the action item click listener
mQuickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() {
@Override
public void onItemClick(QuickAction quickAction, int pos, int actionId) {
if (actionId == ID_MY_LOCATION) {
Toast.makeText(getApplicationContext(), "I have no info this time", Toast.LENGTH_SHORT).show();
} else if (actionId == ID_NEAREST_STATION) {
Toast.makeText(getApplicationContext(), "I have no info this time", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
}
});
ImageButton buttonMenu = (ImageButton) findViewById(R.id.button_menu);
buttonMenu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mQuickAction.show(v);
}
});
看来,用于创建一个新的ActionItem图标和文本不符合NewQuickAction3D
可见如果我运行库作为一个正常的项目(库也是一个示范项目),他们的工作正常。
有什么想法?
发布您的代码。 – rajpara
@rajpara我添加代码 – lory105
没有消息对我的问题? – lory105