2017-04-12 120 views
-1

我想實現這個方法,我也得到了這個錯誤:布爾的onkeydown(INT的keyCode,KeyEvent的事件)

致命異常:主要
android.content.ActivityNotFoundException:無法找到明確的 活動課{app.gestionservicios/android.view.Menu};你有 在你的AndroidManifest.xml中聲明瞭這個活動嗎?

這是我的代碼:

Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
     if ((keyCode == KeyEvent.KEYCODE_BACK)) 
     { 
      Intent passIntent = new Intent(); 
      passIntent.setClass(Listado.this,Menu.class); 
      startActivity(passIntent); 

      return true; 

     } 

     return super.onKeyDown(keyCode, event); 
    } 

這MI manifiest.xml:

<activity 
      android:name=".Menu" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

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

我不知道這是哪裏的錯誤可能出現,因爲在我manifiest.xml被宣佈爲活動菜單,並且我有java文件菜單。它不顯示的編譯錯誤,只執行錯誤

感謝

+0

看起來你有某種命名衝突,因爲它正在尋找'android.view.Menu'而不是**你的** Menu類。也許你必須在你的清單中更全面地限定類? – MyiEye

+0

@MyiEye,也許你很喜歡,但是......我怎樣才能在我的表演中更有品位? – wiki

+1

看起來像一個錯誤的導入。在你的代碼所在的活動中,搜索'import android.view.Menu;',並用你的包中的正確類替換它 – njzk2

回答

1

確保在此代碼

Intent passIntent = new Intent(); 
passIntent.setClass(Listado.this,Menu.class); 

菜單爲您的活動,而不是android.view.Menu類。

或者你可以嘗試下面的代碼:

Intent passIntent = new Intent(); 
passIntent.setClass(Listado.this, your_pacakge_name.Menu.class); 

其中your_pacakge_name - 是你的菜單活動聲明的包的名稱。

+0

泰克的代碼,現在它不顯示任何錯誤,但當我按下鍵時,它不會改變活動 – wiki

+0

它現在的作品,我fogotten startActivity方法,泰克,效果很好! – wiki