2016-11-21 3 views
0

Моя деятельность называется CwiLogInActivity. Я заявляю это в моем экране выплеска следующим образом: сообщениеОшибка Android «не удалось найти явный класс активности» C#

StartActivity(new Intent(Application.Context, typeof(CwiLogInActivity))); 

ошибки:

Android.Content.ActivityNotFoundException: Unable to find explicit activity class {CwiMyCardApp.CwiMyCardApp/md5de4cbc02688eb358b61123b78d100d94.CwiLogInActivity}; have you declared this activity in your AndroidManifest.xml? 

Android манифест:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="CwiMyCardApp.CwiMyCardApp" android:versionCode="1" android:versionName="1.0"> 
    <uses-sdk android:minSdkVersion="19" /> 
    <application android:label="CwiMyCardApp"> 
    <activity android:name=".CwiLogInActivity"/> 
    </application> 
</manifest> 

Я использую cheeseknife разрешить свои ресурсы и У меня нет проблем с компиляцией. Я получаю свою ошибку во время выполнения.

CwiLogInActivity.cs

class CwiLogInActivity : AppCompatActivity 
    { 
     static readonly string TAG = "X:" + typeof(CwiLogInActivity).Name; 

     [InjectView(Resource.Id.loginName)] 
     EditText loginName; 
     [InjectView(Resource.Id.passWord)] 
     EditText passWord; 
     [InjectView(Resource.Id.loginButton)] 
     Button loginButton; 

     [InjectOnClick(Resource.Id.loginButton)] 
     void OnClickMyButton(object sender, EventArgs e) 
     { 
      // This code will run when the button is clicked ... 

     } 

     [InjectOnFocusChange(Resource.Id.loginName)] 
     void OnLoginFocusChange(View v, bool hasFocus) 
     { 
      if (hasFocus) 
      { 
       loginName.Text = ""; 
       loginName.SetTextColor(Color.Argb(150, 000, 000, 000)); 
      } 
     } 

     [InjectOnFocusChange(Resource.Id.loginName)] 
     void OnPasswordFocusChange(View v, bool hasFocus) 
     { 
      if (hasFocus) 
      { 
       passWord.Text = ""; 
       loginName.SetTextColor(Color.Argb(150, 000, 000, 000)); 
      } 
     } 

     protected override void OnCreate(Bundle bundle) 
     { 
      base.OnCreate(bundle); 
      Log.Debug(TAG, "SplashActivity.OnCreate"); 
      // Inflate the activity layout resource 
      SetContentView(Resource.Layout.LoginLayout); 

      // Use Cheeseknife to inject all attributed view 
      // fields and events. For an activity injection, 
      // simply pass in the reference to this activity. 
      Cheeseknife.Inject(this); 
     } 
    } 

Это, как представляется, в соответствии с большинством решений, предлагаемых другими людьми, которые имели мою проблему. И все же моя по-прежнему сохраняется.

ответ

1

У вас нет атрибута [Activity], определенного для этого вида деятельности. Таким образом, он никогда не вводится в AndroidManifest.xml

+0

hmm теперь он компилируется, но просто переходит на пустой экран ... я добавил '[Activity (label =" MyCwiCardApp ")]' где «MyCwiCardApp» - это имя приложения –

+0

Похоже на другую проблему, чем описанная здесь. Может быть, ваши введенные объекты просмотра не работают должным образом? Попробуйте дать 'SetContentView()' макет, который, как вы знаете, будет отображаться только для двойной проверки. –

+0

У меня есть точка останова, установленная в SetContentView(), и она никогда не запускает –

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