Manifest中的类集成:应用程序已停止

时间:2017-10-09 03:24:50

标签: java android android-manifest

我的manifest.xml引发了“.RoleActivity”的错误。但是,如果我将“.roleActivity”替换为其他人进行检查,那么一切都还可以。这是我的manifest.xml

 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.zobaed.androidlogin" >
 <uses-permission android:name="android.permission.INTERNET" />
 <application
    android:allowBackup="true"
  android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity android:name=".RoleActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

         <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity android:name=".DoctorLoginActivity">
        </activity>
    <activity android:name=".PatientLoginActivity">
        </activity>

   </application>
  </manifest>

这是我的RoleActivity。试图在这里写开关案例。

public class RoleActivity extends AppCompatActivity {

    private Button btnPatient;
    private Button btnDoctor;
    private Button btnGuest;
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.log_in_role);


    btnPatient = (Button) findViewById(R.id.btpatient);
    btnDoctor = (Button) findViewById(R.id.btdoctor);
    btnGuest = (Button) findViewById(R.id.btguest);

    btnPatient.setOnClickListener((View.OnClickListener) this);
    btnDoctor.setOnClickListener((View.OnClickListener) this);
    btnGuest.setOnClickListener((View.OnClickListener) this);
    }

    public void onClick(View v) {
    switch (v.getId()) {
        case  R.id.btdoctor: {

            Intent i = new Intent(getApplicationContext(), DoctorLoginActivity.class);
            startActivity(i);
            break;
        }

        case R.id.btpatient: {

            Intent i = new Intent(getApplicationContext(), PatientLoginActivity.class);
            startActivity(i);
            break;
        }

    }
}

}

2 个答案:

答案 0 :(得分:1)

您的活动未实施View.OnClickListener。除非您对活动实施View.OnClickListener,否则无法将活动强制转换为OnClickListener。这就是你收到错误的原因,可能是ClassCastException

 btnPatient.setOnClickListener((View.OnClickListener) this);
    btnDoctor.setOnClickListener((View.OnClickListener) this);
    btnGuest.setOnClickListener((View.OnClickListener) this);

在您的活动上实施View.OnClickListener。改变

public class RoleActivity extends AppCompatActivity

public class RoleActivity extends AppCompatActivity implements View.OnClickListener 

然后你可以删除那个

btnPatient.setOnClickListener(this);
btnDoctor.setOnClickListener(this);
btnGuest.setOnClickListener(this);

如果您没有在活动中实施View.OnClickListener,可以将点击监听器添加为匿名内部类来处理对视图的点击

答案 1 :(得分:1)

在RoleActivity类中实现onClickListner并将代码更改为

btnPatient.setOnClickListener( this);
btnDoctor.setOnClickListener(this);
btnGuest.setOnClickListener(this);