私が検索して解決策を探した問題に遭遇しましたが、それを見つけることができません。ActionBarSherlockアクションバーのアクションボタンで開く設定画面を設定しようとしています。ボタンはアクションバーに表示されますが、押しても何もしません。彼らは新しい意図を開始することになっていますが、そうではありません。ここにいくつかのコードがあります:
Main.java:
package com.myname.minteract;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import android.content.Intent;
import android.os.Bundle;
public class Main extends SherlockFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.activity_main, menu);
menu.add("Add Server")
.setIcon(R.drawable.ic_action_add_server)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("Refresh Servers")
.setIcon(R.drawable.ic_action_refresh)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("Settings")
.setIcon(R.drawable.ic_action_options)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return(super.onCreateOptionsMenu(menu));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.addServer:
startActivity(new Intent(this, AddServer.class));
return(true);
case R.id.settings:
startActivity(new Intent(this, Settings.class));
return(true);
}
return(super.onOptionsItemSelected(item));
}
}
私の他のクラスファイルとxmlファイルは、ここにあるものと同じですが、名前が少し変更されています(すべてのコードを投稿すると、非常に多くのスペースが必要になります)。
うまくいけば、これは十分な情報です。私はAndroidにかなり慣れておらず、ActionBarSherlockにも非常に慣れていないので、かなり簡単なものを見逃している可能性があります。logcatなどを使ってみましたが、ボタンは文字通り何もせず、logcatにもエラーで表示されません。
ありがとう!
追記:ICSを実行しているHTC Sensation4GとFroyoを実行しているMyTouch3Gを使用してアプリをテストしています(ハニカム前のデバイスと互換性があることを確認するため)。
編集:
これが私の/res/menu/activity_main.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" />
<item android:id="@+id/addServer"
android:icon="@drawable/ic_action_add_server"
android:title="Add Server" />
<item android:id="@+id/refreshServers"
android:icon="@drawable/ic_action_refresh"
android:title= "Refresh Servers" />
<item android:id="@+id/settings"
android:icon="@drawable/ic_action_options"
android:title="Settings" />
</menu>