android - Error Landroid/support/v7/widget/SearchView$5 when using Action Bar compat library -
ok, ive imported v7-appcompat library(yes have unchecked dependencies),on using in project list of errors in log cat. the application works fine on , android moto g i.e on android 4.4.2 , not on lg p500 2.2.2,
i followed instructions importing android resource library official website http://developer.android.com/tools/support-library/setup.html
i starting think android bug , please
- 04-14 19:59:22.223: w/dalvikvm(12718): vfy: unable resolve virtual method 318: landroid/content/pm/packagemanager;.getactivitylogo (landroid/content/componentname;)landroid/graphics/drawable/drawable; - 04-14 19:59:22.223: w/dalvikvm(12718): vfy: unable resolve virtual method 314: landroid/content/pm/applicationinfo;.loadlogo (landroid/content/pm/packagemanager;)landroid/graphics/drawable/drawable; 04-14 19:59:22.463: w/dalvikvm(12718): link of class 'landroid/support/v7/widget/searchview$5;' failed 04-14 19:59:22.463: e/dalvikvm(12718): not find class 'android.support.v7.widget.searchview$5', referenced method android.support.v7.widget.searchview.addonlayoutchangelistenertodropdownanchorsdk11 04-14 19:59:22.463: w/dalvikvm(12718): vfy: unable resolve new-instance 840 (landroid/support/v7/widget/searchview$5;) in landroid/support/v7/widget/searchview; 04-14 19:59:22.663: w/dalvikvm(12718): vfy: unable resolve direct method 8207: landroid/widget/linearlayout$layoutparams;.<init> (landroid/widget/linearlayout$layoutparams;)v
my code straight forward ,,, action.xml(the menu action bar)
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:lol="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/item1" android:icon="@drawable/ic_action_copy" android:title="@string/title" lol:showasaction="ifroom" /> <item android:id="@+id/searchactivity" android:icon="@drawable/ic_action_search" android:title="@string/action_search" lol:showasaction="ifroom|collapseactionview" lol:actionviewclass="android.support.v7.widget.searchview"/> </menu>
the android manifest file follows
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.gamehaschanged" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="8" android:targetsdkversion="19" /> <application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/theme.appcompat.light.darkactionbar" > <activity android:name="com.example.gamehaschanged.mainactivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest>
the mainactivity straight foward follows
package com.example.gamehaschanged; import android.os.bundle; import android.support.v7.app.actionbaractivity; import android.view.menu; import android.view.menuitem; public class mainactivity extends actionbaractivity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.action, menu); menuitem searchitem = menu.finditem(r.id.searchactivity); return true; }
}
the project not crashing giving warnings , error , dont want problems later in project
i don't have 50 reputation comment i'll answer here.
you need both libraries:
android-support-v4.jar android-support-v7-appcompat.jar
if you're planning use appcompat
library in android project.
you can either embed above jar files in project copying them \android-sdk\extras\android\support\v7\appcompat\libs
directory project's libs
directory.
or, can share appcompat library across different android projects doing:
in eclipse, select file | import | existing projects workspace. then, click next.
click browse, , browse directory of android appcompat directory. default directory should be: ..\android-sdk\extras\android\support\v7\appcompat.
click finish add new project.
select properties tab of android project.
in properties screen, select android option (on left pane), click add, , select appcompat library list.
click ok save changes.
Comments
Post a Comment