类型 参数名称:类型不是从 Java 类型派生的. - 哈马林安卓



我的应用程序运行正常。突然间,我意识到当我尝试使用Facebook登录和注销时,我遇到了此错误。在我的应用程序中,当我通过 Faceboook 登录时,它会从 Facebook 登录页面到成功页面进行身份验证。

在成功页面上,用户单击继续,当我单击继续时,我收到错误

类型

参数名称:类型不是从 Java 类型派生的。

在我看到用户已登录后,应用程序崩溃并重新启动。 当我注销时,它也会出现相同的错误

类型

参数名称:类型不是从 Java 类型派生的。

应用崩溃,但用户已注销。 我已经搜索了其他相关问题,但没有一个可以帮助我。

是什么原因造成的?

public class successPage : Activity
{
Button button;
TextView textViewActivity;
FirebaseAuth mAuth;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);

SetContentView(Resource.Layout.successPage);
button = (Button)FindViewById(Resource.Id.button);
textViewActivity = (TextView)FindViewById(Resource.Id.textView);
mAuth = FirebaseAuth.Instance;

button.Click += onBtnClick;
//textViewActivity.Text = user.DisplayName;

// Create your application here
}
private void onBtnClick(object sender, EventArgs e)
{
Intent success = new Intent(this, (typeof(EventNews)));
StartActivity(success);
}
}

错误点在此行

Intent success = new Intent(this, (typeof(EventNews)));

活动新闻

public class EventNews : BaseActivity, IValueEventListener
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);

FrameLayout content = (FrameLayout)FindViewById(Resource.Id.content_frame);
LayoutInflater.Inflate(Resource.Layout.EventNews, content);

//initializing firebase
user = FirebaseAuth.Instance.CurrentUser;

toolbarMain = (Android.Support.V7.Widget.Toolbar)FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolBar);
SetSupportActionBar(toolbarMain);
TextView toolbarName = (TextView)FindViewById(Resource.Id.counter_text);
}
}
public override bool OnCreateOptionsMenu(IMenu menu)
{
MenuInflater.Inflate(Resource.Menu.top_menus, menu);
var item = menu.FindItem(Resource.Id.search);
var searchview = (Android.Support.V7.Widget.SearchView)MenuItemCompat.GetActionView(item);
searchview.QueryTextChange += (s, e) =>
{
adapter.Filter.InvokeFilter(e.NewText);

};
searchview.QueryTextSubmit += (s, e) =>
{
Toast.MakeText(this, "Searched for: " + e.Query, ToastLength.Short).Show();
e.Handled = true;
};
MenuItemCompat.SetOnActionExpandListener(item, new SearchViewExpandListener(adapter));


return base.OnCreateOptionsMenu(menu);
}
private void Adapter_ItemClick(object sender, int position)
{

}
private class SearchViewExpandListener : Java.Lang.Object, MenuItemCompat.IOnActionExpandListener
{
private readonly IFilterable _adapter;
public SearchViewExpandListener(IFilterable adapter)
{
_adapter = adapter;
}
public bool OnMenuItemActionCollapse(IMenuItem item)
{
_adapter.Filter.InvokeFilter("");
return true;
}
public bool OnMenuItemActionExpand(IMenuItem item)
{
return true;
}
}
public void OnCancelled(DatabaseError error)
{
throw new NotImplementedException();
}
public void OnDataChange(DataSnapshot snapshot)
{
eventNews.Clear();
var items = snapshot.Children.ToEnumerable<DataSnapshot>();
HashMap map;
foreach (DataSnapshot item in items)
{
map = (HashMap)item.Value;
eventNews.Add(new EventNews(item.Key.ToString(),map.Get("Name")?.ToString(), map.Get("Achievement")?.ToString(),map.Get("History")?.ToString(),map.Get("Quote")?.ToString(), map.Get("Ref").ToString()));
}
//list items on listview
rv.SetLayoutManager(new LinearLayoutManager(this));
rv.SetItemAnimator(new DefaultItemAnimator());
rv.SetAdapter(adapter);
mDialog.Dismiss();

}
}

堆栈跟踪

at Java.Lang.Class.FromType (System.Type type) [0x00012] in <d855bac285f44dda8a0d8510b679b1e2>:0 
at Android.Content.Intent..ctor (Android.Content.Context packageContext, System.Type type) [0x00000] in <d855bac285f44dda8a0d8510b679b1e2>:0 
at peaceApp.Droid.successPage.onBtnClick (System.Object sender, System.EventArgs e) [0x00002] in /Users/emmnock/Documents/Projects/peaceApp/Droid/successPage.cs:76 
at Android.Views.View+IOnClickListenerImplementor.OnClick (Android.Views.View v) [0x00011] in <d855bac285f44dda8a0d8510b679b1e2>:0 
at Android.Views.View+IOnClickListenerInvoker.n_OnClick_Landroid_view_View_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_v) [0x0000f] in <d855bac285f44dda8a0d8510b679b1e2>:0 
at (wrapper dynamic-method) System.Object:579ed970-959a-4157-8d2c-b00f36f55fa7 (intptr,intptr,intptr)

如果您已检查此文档 在活动之间传递数据

那么你可能已经注意到了这行:

将名为 Activity2 的第二个活动类添加到项目中。此类必须继承自 Android.App.Activity

所以问题出在typeof(EventNews).出于某种原因,传递的是类型而不是活动类型。这可能是如果有两个同名但位于不同命名空间中的类。

最新更新