2016-11-21 52 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

嗯現在它編譯,但只是進入一個空白屏幕......我添加了'[Activity(label =「MyCwiCardApp」)]'其中「MyCwiCardApp」是應用程序的名稱 –

+0

聽起來像一個不同於這裏描述的問題。也許你注入的視圖項目工作不正常?嘗試給出'SetContentView()'佈局,你知道將顯示只是爲了仔細檢查。 –

+0

我在SetContentView()中設置了一個斷點,它從不觸發 –