0
07-27 11:29:26.390: E/AndroidRuntime(691): FATAL EXCEPTION: main
07-27 11:29:26.390: E/AndroidRuntime(691): java.lang.NullPointerException
07-27 11:29:26.390: E/AndroidRuntime(691): at com.androidma.voteq.MainActivity.onCreateOptionsMenu(MainActivity.java:271)
07-27 11:29:26.390: E/AndroidRuntime(691): at android.app.Activity.onCreatePanelMenu(Activity.java:2444)
07-27 11:29:26.390: E/AndroidRuntime(691): at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:225)
07-27 11:29:26.390: E/AndroidRuntime(691): at android.support.v7.app.ActionBarActivity.superOnCreatePanelMenu(ActionBarActivity.java:233)
07-27 11:29:26.390: E/AndroidRuntime(691): at android.support.v7.app.ActionBarActivityDelegateICS.onCreatePanelMenu(ActionBarActivityDelegateICS.java:146)
07-27 11:29:26.390: E/AndroidRuntime(691): at android.support.v7.app.ActionBarActivity.onCreatePanelMenu(ActionBarActivity.java:200)
07-27 11:29:26.390: E/AndroidRuntime(691): at android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.onCreatePanelMenu (ActionBarActivityDelegateICS.java:293)
07-27 11:29:26.390: E/AndroidRuntime(691): at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:388)
"공유"작업을 작업 표시 줄에 삽입하려고하면 내 응용 프로그램이 충돌합니다.Android 앱 - 공유 의도 치명적인 오류
public class MainActivity extends ActionBarActivity {
내 코드 :
이import android.support.v7.app.ActionBarActivity;
내 주요 활동 클래스는 다음과 같이 시작합니다
문제가있는 라인이 클래스 내 수입에이
myShareActionProvider.setShareIntent(myIntent);
입니다
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
getMenuInflater().inflate(R.menu.action_bar_share_menu, menu);
MenuItem item = menu.findItem(R.id.menu_item_share);
ShareActionProvider myShareActionProvider = (ShareActionProvider) item.getActionProvider();
Intent myIntent = new Intent();
startActivity(myIntent);
myIntent.setAction(Intent.ACTION_SEND);
myIntent.putExtra(Intent.EXTRA_TEXT, "Oylamaya Katil! Google vs. Apple! https://play.google.com/store/apps/details?id=com.google.android.gm&hl=tr");
myIntent.setType("text/plain");
myShareActionProvider.setShareIntent(myIntent);
return true;
}
메뉴 폴더
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_item_share"
android:showAsAction="ifRoom"
android:title="Share"
android:actionProviderClass="android.widget.ShareActionProvider" />
</menu>
행동 마뉘 공유 munu의 XML
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_item_share"
android:showAsAction="ifRoom"
android:title="Share"
android:actionProviderClass="android.widget.ShareActionProvider" />
</menu>
내가 그것을 다른 프로젝트에서 실행됩니다 공유 의도 코드 블록을 사용하고있는 main.xml에. 코드의
private ShareActionProvider mShareActionProvider;
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.action_bar_share_menu, menu);
final MenuItem shareItem = menu.findItem(R.id.action_share);
mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(shareItem);
Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_SEND);
myIntent.putExtra(Intent.EXTRA_TEXT, "Oylamaya Katil! Google vs. Apple! https://play.google.com/store/apps/details?id=com.google.android.gm&hl=tr");
myIntent.setType("text/plain");
mShareActionProvider.setShareIntent(myIntent);
return true;
}
감사합니다. – user1860076