액션 바는에서 사용할 수 없습니다 :
이
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
MenuItem shareItem = (MenuItem) menu.findItem(R.id.action_share);
ShareActionProvider mShare = (ShareActionProvider)shareItem.getActionProvider();
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Download here https://www.apps.com");
mShare.setShareIntent(shareIntent);
return true;
}
내 menu.xml 파일은 다음을 (아이콘을 보여줍니다, 작동 확인)했습니다
이
내가 내 코드에있을 것입니다 안드로이드 2.x의 상자. MenuItem이 API 14 (Android 4.0 Ice Cream Sandwich)에 도입 된
getActionProvider()
을 이해하지 못하기 때문에 충돌이 발생합니다.
당신은 두 가지 옵션이 있습니다
- 안드로이드의 이전 버전에서 액션 바을 사용하기 위해 v7 appcompat library을 사용합니다;
- 또는 기존의 2.x 메뉴를 구현할 수 있습니다.
2.x 장치에서 충돌을 피하기 위해 수행 할 수있는 작업입니다. 장치가 나중에 아이스크림 샌드위치을 실행되는 것을 확인하여 새로운 API를 사용 가드 :
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
MenuItem shareItem = (MenuItem) menu.findItem(R.id.action_share);
ShareActionProvider mShare = (ShareActionProvider)shareItem.getActionProvider();
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Download here https://www.apps.com");
mShare.setShareIntent(shareIntent);
}
return true;
}
이 코드를 포맷하십시오 제대로 –
나는 코드 형식의. 끝난! – unarea