我在我的应用中使用ActionBarActivity很困难,因为我无法导入它。 我尝试添加Android支持库4,7,13和17 ...
Nr.7,13和17不起作用,因为“项目未引用某些必需的包”。我还没弄清楚这甚至意味着什么。
Nr.4不起作用,因为“找不到类型或命名空间名称'ActionBarActivity'(您是否缺少using指令或程序集引用?)C:\ progge \ Apper \ AkvaApp \ AkvaApp \ AkvaApp \ Browser.cs“......即使ActionBarActivity应该包含在组件中。
我一次又一次地建造和重建。
以下是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.Support.V4;
using Xamarin;
namespace AkvaApp
{
[Activity(Label = "Browser")]
public class Browser : ActionBarActivity, ActionBar.ITabListener
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SupportRequestWindowFeature(WindowCompat.FeatureActionBar);
ActionBar.NavigationMode = ActionBarNavigationMode.Tabs;
SetContentView(Resource.Layout.BrowserLayout);
ActionBar.NavigationMode = ActionBarNavigationMode.Tabs;
ActionBar.Tab tab = ActionBar.NewTab();
tab.SetText(Resources.GetString(Resource.String.SearchTabText));
tab.TabSelected += (sender, args) =>
{
Android.Util.Log.Info(this.Class.Name, "this is an info message");
Android.Util.Log.Warn(this.Class.Name, "this is a warning message");
Android.Util.Log.Error(this.Class.Name, "this is an error message");
};
}
public void OnTabReselected(ActionBar.Tab tab, FragmentTransaction ft)
{
throw new NotImplementedException();
}
public void OnTabSelected(ActionBar.Tab tab, FragmentTransaction ft)
{
throw new NotImplementedException();
}
public void OnTabUnselected(ActionBar.Tab tab, FragmentTransaction ft)
{
throw new NotImplementedException();
}
}
}
WHYY?
答案 0 :(得分:3)
我还没有设法让它在Visual Studio中运行,但我确实在Xamarin Studio中管理。 在Visual Studio中添加Support Library v7完全没有帮助,但是在Xamarin Studio中添加它修复了它。
对于Xamarin Studio: 右键单击项目(不是解决方案),单击添加 - >添加NuGet包,搜索"支持库v7",选中一个名为AppCompat的包,然后单击添加包。 然后在需要此库的类中,使用Android.Support.V7添加""
答案 1 :(得分:1)
ActionBarActivity是Martijn提到的Support Library v7 AppCompat的一部分
https://developer.android.com/reference/android/support/v7/app/ActionBarActivity.html
Android.App.ActionBar
替换为ActionBar
。deprecated
,您应该使用其他模式(http://developer.android.com/design/patterns/navigation.html)答案 2 :(得分:0)
您需要将nuget包添加到Support Library v7 AppCompat以使用ActionBarActivity。 Xamarin的James Montemagno在http://blog.xamarin.com/android-support-library-v7-hello-actionbarcompat/
中解释了这一点如果你想知道为什么"项目没有引用一些必需的包"即将到来,您应该查看软件包控制台,看看实际的错误消息是什么。