2015-11-17 2 views
0

Я новичок в разработке Xamarin. Я следую некоторым учебникам. Я хочу переключиться на другое действие в случае успешного входа в систему. В этом отношении я сделал следующий основной класс деятельности и другой класс активности.Класс активности не найден в манифесте

[Activity (Label = "VanPac", MainLauncher = true, Icon = "@drawable/icon")] 
public class MainActivity : Activity 
{ 
    static readonly List<string> Menus = new List<string>(); 
    protected override void OnCreate (Bundle bundle) 
    { 
     base.OnCreate (bundle); 
     SetContentView (Resource.Layout.Main); 

     EditText usr = FindViewById<EditText>(Resource.Id.UserName); 
     EditText pwd = FindViewById<EditText>(Resource.Id.Password); 
     Button button = FindViewById<Button>(Resource.Id.Login); 

     button.Click += async (sender, e) => { 

     if (usr.Text.Length > 0 && pwd.Text.Length > 0) 
     { 
      string url = "http://myapi/api/android/validatecredentials?usr=" + usr.Text + "&pwd=" + pwd.Text; 

      JsonValue json = await getDataFromDB(url); 
      if(json == "200") 
      { 
       url = "http://54.149.94.176:82/api/android/menuslist"; 
       json = await getDataFromDB(url); 
       var res = json.ToString(); 
       var t = JsonConvert.DeserializeObject<List<string>>(res); 
       foreach(var i in t) 
       { 
        Menus.Add(i); 
       } 
       var intent = new Intent(this, typeof(MenusList)); 
       intent.PutStringArrayListExtra("menus", Menus); 
       StartActivity(intent); 
      } 

     } 

    }; 

И мой MenusList Деятельность:

public class MenusList : ListActivity 
{ 
    protected override void OnCreate (Bundle bundle) 
    { 
     base.OnCreate (bundle); 
     var menu = Intent.Extras.GetStringArrayList("menus") ?? new string[0]; 
     this.ListAdapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, menu); 
    } 
} 

И мой файл манифеста:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.PearlSol.vanpac"> 
    <uses-sdk android:minSdkVersion="16" /> 
    <application android:label="VanPac"> 
    </application> 
    <activity android:name="com.PearlSol.vanpac/md5f1e9043345622e87428c0748cd41530c.MenusList"></activity> 
</manifest> 

Я не добавил вещь в файле манифеста, за исключением тега активности для MenusList.cs , после получения ошибки «Класс активности не найден».

Но он постоянно дает мне класс Activity не найдена ошибка на StartActivity (намерение); в MainActivity.

Как я могу это сделать?

С уважением!

+0

добавлено как <активность android: name = "com.PearlSol.vanpac/com.PearlSol.VanPac.Main"> .. все еще не работает –

+0

Должно быть, это <активность android: name = ". MenusList" /> ? – Nanoc

+0

Также, если он действительно достигает строки startActivity(), проблема заключается в том, что menuList не mainAcitivy, или Android Studio даже не компилирует, что eclipse должен быть способен скомпилировать независимо от манифеста – Nanoc

ответ

0

Добавьте это выше «общедоступного класса MenusList» и удалите все, что вы добавили в манифест вручную.

[Activity (Label = "MenusList")] 
public class MenusList : ListActivity 
{ ... 
+0

Ошибка произошла, как показано в [link] (http://imgur.com/34bOqiS) –

0

Вы должны добавить mainactivity в файл манифеста, такой как menulist.

Смежные вопросы