2017-10-09 8 views
0

私のマニフェストファイルは "。RoleActivity"のエラーを発生させます。しかし、私が自分の ".Activity"を他の人と交換してチェックすると、彼らはすべて大丈夫です。ここに私の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; 
     } 

    } 
} 

} 
+0

すべてのアクティビティは同じパッケージにありますか? – Sony

+0

はい。すべて同じパッケージの下にあります。 – Zobs

+0

アプリを実行しているときにスタックトレースがありますか? – Sony

答えて

1

ロールでonClickListnerを実装するアクティビティクラスと変更コード

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

私はちょうどそれをして、それは動作します!ありがとうございました! – Zobs

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 implements View.OnClickListener 

public class RoleActivity extends AppCompatActivity 

を変更し、あなたがあなたの活動にView.OnClickListenerをimplemetingされていない場合

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

をキャストすると、あなたは匿名内部クラスとしてクリックリスナーを追加することができます削除することができますビューのクリックを処理するため

+0

私はそれを実行しました。ありがとうございました! – Zobs

関連する問題