Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
487 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 Answer

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...