你定位了什麼API級別? DragShadowBuilder
可在11級起。
我在Mono上測試了您的代碼,針對API Level 12(安裝了最低級別的Android 3.1)的Android 4.2.6,它編譯時沒有問題並且部署到模擬器。
您是否嘗試過清潔/重建解決方案?
您是否嘗試過從頭開始創建一個新項目並實施此類來查看問題是否與您現有的解決方案分離?
此外,請檢查您的ACW在obj \ debug \ android \ src \ wordshuffle \ android \ shadowbuilders \文件夾中的樣子。
礦看起來像這樣
package androidapplication1;
public class TileShadow
extends android.view.View.DragShadowBuilder
implements
mono.android.IGCUserPeer
{
static final String __md_methods;
static {
__md_methods =
"n_onDrawShadow:(Landroid/graphics/Canvas;)V:GetOnDrawShadow_Landroid_graphics_Canvas_Handler\n" +
"";
mono.android.Runtime.register ("AndroidApplication1.TileShadow, AndroidApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", TileShadow.class, __md_methods);
}
public TileShadow (android.view.View p0)
{
super (p0);
if (getClass() == TileShadow.class)
mono.android.TypeManager.Activate ("AndroidApplication1.TileShadow, AndroidApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", "Android.Views.View, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=c4c4237547e4b6cd", this, new java.lang.Object[] { p0 });
}
public TileShadow()
{
super();
if (getClass() == TileShadow.class)
mono.android.TypeManager.Activate ("AndroidApplication1.TileShadow, AndroidApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", "", this, new java.lang.Object[] { });
}
public void onDrawShadow (android.graphics.Canvas p0)
{
n_onDrawShadow (p0);
}
private native void n_onDrawShadow (android.graphics.Canvas p0);
java.util.ArrayList refList;
public void monodroidAddReference (java.lang.Object obj)
{
if (refList == null)
refList = new java.util.ArrayList();
refList.add (obj);
}
public void monodroidClearReferences()
{
if (refList != null)
refList.clear();
}
}
喜alexw,謝謝。它現在工作。我的目標是API 8,並沒有編譯。現在更改爲API 12。這是否意味着我將無法支持使用API 8的移動設備? –
是的,這是正確的。如果您希望定位先前的設備,則必須在運行時檢查版本,並且只有在版本爲API級別11或更高版本時才使用此類。請參閱此問題以瞭解有關如何執行此操作的更多信息。 http://stackoverflow.com/questions/12272397/android-backward-compatibility-but-still-utilise-latest-api-features –
此外,如果你相信我已經回答你的問題,請將其標記爲已接受。謝謝 –