我用这个例子 http://developer.android.com/guide/topics/ui/actionbar.html#ActionProvider 但是,我想现在,如果它可能更改其他文本的“查看全部”文本,例如,我的图库应用程序,是否有西班牙语“ver todo”的文本,如果可能更改?
并且......如果可能的话,知道何时按下操作栏中的分享按钮(在我的情况下是actionbarsherlock)?
我看到“但是,如果操作提供程序提供了操作子菜单,那么当用户打开列表或选择其中一个子菜单项时,您的活动不会接收到对onOptionsItemSelected()的调用”但是..没有其他方式要知道吗?我希望当用户按下“按钮”时,一个accion也会显示要分享的应用程序列表。
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater= getSupportMenuInflater();
inflater.inflate(R.menu.menu_resultados, menu);
MenuItem item = menu.findItem(R.id.menu_compartir);
mShareActionProvider =(com.actionbarsherlock.widget.ShareActionProvider) item.getActionProvider();
mShareActionProvider.setShareIntent(createShareIntent());
return true;
}
private Intent createShareIntent ()
{
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/jpeg");
shareIntent.putExtra(Intent.EXTRA_EMAIL,"TestText");
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "TestSubject");
return shareIntent;
}
答案 0 :(得分:0)
您可以更改actionbarsherlock项目中的字符串,方法是更改res/values/abs__strings
处的行,或者您可以创建文件夹res/values-es
,复制abs__strings
,然后编辑那里的行。这样,根据设备的语言,您的代码中将包含英语和西班牙语字符串。您在abs__strings
中寻找的行称为abs__activity_chooser_view_see_all
。
只是提示,尝试使用Eclipse中的搜索功能,以便下次更改这些字符串。我通过搜索“看到所有......”找到了这个。
关于知道什么时候按下按钮,我无法理解。我刚刚测试onOptionsItemSelected()
不起作用,就像你说的那样......
答案 1 :(得分:0)
尝试为{:
设置setOnMenuItemClickListener
MenuItem item = menu.findItem(R.id.menu_compartir);
item.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem arg0) {
// TODO Auto-generated method stub
return false;
}
});