Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
485 views
in Technique[技术] by (71.8m points)

android - java.lang.illegalstateexception: a factory has already been set on this layoutinflater

I have tried to change the background color of options menu in my android app. I am using ActionBarSherlock library. I have tried this code for changing the background color of options menu

https://stackoverflow.com/a/8475357/584095

But I ended up with an exception "java.lang.illegalstateexception: a factory has already been set on this layoutinflater" at line

LayoutInflater.setFactory();

I don't know what is wrong in this code. Can anyone help me in resolving this issue?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

There been a change in support library since version 22.1.0.

You will get an IllegalStateException if you try to call getLayoutInflater().setFactory()

You should use the new api

Or simply use the old version

  • com.android.support:appcompat-v7:22.0.0
  • com.android.support:appcompat-v4:22.0.0

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...