I'm trying to use ActionBarSherlock in one specific activity which I've declared in the Manifest like this:
<activity android:name=".activities.Bla" android:screenOrientation="portrait" android:theme="@style/Theme.Sherlock" />
My Activity code is this:
public class Bla extends SherlockFragmentActivity implements ActionBar.OnNavigationListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bla); getSupportActionBar().setTitle(""); getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); Context context = getSupportActionBar().getThemedContext(); ArrayAdapter<CharSequence> list = ArrayAdapter.createFromResource(context, R.array.cartaz_filters, R.layout.actionbar_spinner_item); list.setDropDownViewResource(R.layout.actionbar_spinner_dropdown_item); getSupportActionBar().setListNavigationCallbacks(list, this); } @Override public boolean onNavigationItemSelected(int itemPosition, long itemId) { return true; } }
However, every time I run this in an Android 2.1 I get the following error:
E/ResourceType(9672): Style contains key with bad entry: 0x01000000
I think this might be related with this question: Read Newer Theme Attributes On Older Platform but I don't know how to solve it.
Any suggestions? Thanks!
This is because you are using theme attributes that were not present on the platform on which you are running your application. Despite the giant red error log that it adds, it's more of a warning as it does not affect the other attributes. The newer attributes are never read on the older platforms.
The linked question from me was my attempt to not have to require ABSv4 use mirrored attributes.
If you really want to get rid of the error you can create two sets of your styles. One in values/
for the compatibility action bar and one in values-v14/
that use the prefixed attributes for the native action bar.
And please, please, please, please do not use maxSdkVersion
. Use targetSdkVersion
instead.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With