2013-02-04 87 views
0
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main_screen, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.menu_settings: 
     Intent Options = new Intent(this, 
       Options.class); 
     this.startActivity(Options); 
     break; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 

    return true; 
} 

我的onOptionsItemSelected()沒有發送給我設置的活動。它只是踢我回到前一個屏幕。沒有錯誤或任何事情,只是踢我回屏幕?我已經在清單文件中聲明瞭Options.class。OnOptionsItemSelected()不發送到新的活動?

任何想法?

編輯:

Options.class

import android.app.Activity; 
import android.os.Bundle; 

public class Options extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.options); 
    } 
} 

main_screen.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+id/menu_settings" 
    android:title="@string/menu_settings" 
    android:orderInCategory="100" 
    android:showAsAction="never" /> 

logcat的:只是將我的活動,然後回踢馬上

02-04 12:26:55.494: I/ActivityManager(150): Starting activity: Intent { cmp=com.app.test/.Options } from pid 7978 
02-04 12:26:55.504: I/ActivityManager(150): Starting activity: Intent { cmp=com.app.test/.MainScreen (has extras) } from pid 7978 
+0

請爲option.class添加logcat,清單和代碼 –

+0

'main_screen.xml'代碼可能是最有幫助的,你確定你的ID設置正確嗎? – iagreen

+0

你可以發佈main_screen.xml嗎?您的Activity是否擴展了android.app.Activity或您自己的BaseActivity? –

回答

0

對我來說,它看起來好像沒有進入正確的catch塊並運行默認選項。 試一下:

public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    getMenuInflater().inflate(R.menu.main_screen, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.menu_settings: 
     Intent Options = new Intent(this, 
       Options.class); 
     this.startActivity(Options); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 


} 

如果它不工作,把日誌或吐司或看到的東西,如果它在

case R.id.menu_settings: 
0

嘗試相同,但沒有

case R.id.menu_settings: 
    Intent Options = new Intent(MainActivity.this, Options.class); 
    startActivity(Options); 
     return true; 

它適用於我,我希望它有幫助。