繁体   English   中英

Android错误“无法找到显式活动类” C#

[英]Android error “unable to find explicit activity class” c#

我的活动称为CwiLogInActivity。 我在启动画面中将其声明为:

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>

我正在使用乳酪刀解决我的资源,并且编译没有问题。 我在运行时遇到错误。

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);
        }
    }

这似乎与向遇到我的问题的其他人提供的大多数解决方案是一致的。 然而我的仍然存在。

您没有在此活动上定义[Activity]属性。 因此,它永远不会注入AndroidManifest.xml

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM