我在android v 2.3.6的设备中使用actionBarSherlock并且我无法收听ActionItems中的点击,而当我在模拟器中运行应用程序时,这不会发生android 4.1是否存在兼容性问题?可以做些什么吗?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BitmapDrawable bg = (BitmapDrawable)getResources().getDrawable(R.drawable.barbitmap);
bg.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT);
getSupportActionBar().setBackgroundDrawable(bg);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
int itemId = item.getItemId();
System.out.println(itemId);
if(itemId==android.R.id.home){
finish();
return false;
}
return false;
}
答案 0 :(得分:1)
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// Navigate "up" the demo structure to the launchpad activity.
// See http://developer.android.com/design/patterns/navigation.html for more.
return true;
}
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:1)
确保您要导入此
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
不是这个
import android.view.Menu;
import android.view.MenuItem;
然后使用
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
int id = item.getItemId();
switch (id)
{
case R.id.action_bar_menu_refresh:
}
}
答案 2 :(得分:0)
尝试改为覆盖onOptionItemnSelected()
。