1
我有我的菜單選項,背景色改爲黑色爲Android 2.2以上,我給出的解決方案試了一下:如何更改菜單背景色爲黑色在Android 2.2及更高
protected void setMenuBackground(){
// Log.d(TAG, "Enterting setMenuBackGround");
getLayoutInflater().setFactory(new Factory() {
public View onCreateView(String name, Context context, AttributeSet attrs) {
if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
try { // Ask our inflater to create the view
LayoutInflater f = getLayoutInflater();
final View view = f.createView(name, null, attrs);
new Handler().post(new Runnable() {
public void run() {
// sets the background color
view.setBackgroundResource(R.color.black);
// sets the text color
((TextView) view).setTextColor(Color.WHITE);
// sets the text size
((TextView) view).setTextSize(18);
}
});
return view;
}
catch (InflateException e) {}
catch (ClassNotFoundException e) {}
}
return null;
}
});
}
但顯示致命異常錯誤 「04-27 17:03:38.831:E/AndroidRuntime(923):java.lang.IllegalStateException:已在此LayoutInflater上設置了一個工廠」。難道我做錯了什麼 ??