Dưới đây là mã hoạt động của tôi. Trong này tôi đang sử dụng các thư viện hỗ trợ appcompatNgoại lệ con trỏ Null trong việc sử dụng nhà cung cấp dịch vụ chia sẻ thư viện hỗ trợ
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.ShareActionProvider;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
MenuItem item = (MenuItem) menu.findItem(R.id.share_options);
ShareActionProvider shareAction = (ShareActionProvider) MenuItemCompat
.getActionProvider(item);
Intent shareIntent = new Intent(Intent.ACTION_SEND)
.setAction(Intent.ACTION_SEND)
.putExtra(Intent.EXTRA_TEXT, "MobiTexter")
.setType("text/plain");
shareAction.setShareIntent(shareIntent);
return super.onCreateOptionsMenu(menu);
}
}
Sau đây là tập tin XML của tôi cho các tùy chọn menu đó là một ShareActionProvider Widget
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:mobitexter="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/share_options"
android:actionProviderClass="android.support.v7.widget.ShareActionProvider"
android:orderInCategory="100"
mobitexter:showAsAction="never"
mobitexter:title="@string/share_options"/>
</menu>
Trong này tôi đang nhận được một NullPointerException . Dưới đây là đầu ra mèo đăng nhập của tôi.
10-02 12:49:00.813: E/AndroidRuntime(9227): FATAL EXCEPTION: main
10-02 12:49:00.813: E/AndroidRuntime(9227): java.lang.NullPointerException
10-02 12:49:00.813: E/AndroidRuntime(9227): at net.mobitexter.easyshare.MainActivity.onCreateOptionsMenu(MainActivity.java:31)
10-02 12:49:00.813: E/AndroidRuntime(9227): at android.app.Activity.onCreatePanelMenu(Activity.java:2444)
10-02 12:49:00.813: E/AndroidRuntime(9227): at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:224)
10-02 12:49:00.813: E/AndroidRuntime(9227): at android.support.v7.app.ActionBarActivity.superOnCreatePanelMenu(ActionBarActivity.java:224)
10-02 12:49:00.813: E/AndroidRuntime(9227): at android.support.v7.app.ActionBarActivityDelegateICS.onCreatePanelMenu(ActionBarActivityDelegateICS.java:141)
10-02 12:49:00.813: E/AndroidRuntime(9227): at android.support.v7.app.ActionBarActivity.onCreatePanelMenu(ActionBarActivity.java:199)
10-02 12:49:00.813: E/AndroidRuntime(9227): at android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.onCreatePanelMenu(ActionBarActivityDelegateICS.java:280)
10-02 12:49:00.813: E/AndroidRuntime(9227): at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:392)
10-02 12:49:00.813: E/AndroidRuntime(9227): at com.android.internal.policy.impl.PhoneWindow.invalidatePanelMenu(PhoneWindow.java:743)
10-02 12:49:00.813: E/AndroidRuntime(9227): at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:2838)
10-02 12:49:00.813: E/AndroidRuntime(9227): at android.os.Handler.handleCallback(Handler.java:605)
10-02 12:49:00.813: E/AndroidRuntime(9227): at android.os.Handler.dispatchMessage(Handler.java:92)
10-02 12:49:00.813: E/AndroidRuntime(9227): at android.os.Looper.loop(Looper.java:137)
10-02 12:49:00.813: E/AndroidRuntime(9227): at android.app.ActivityThread.main(ActivityThread.java:4448)
10-02 12:49:00.813: E/AndroidRuntime(9227): at java.lang.reflect.Method.invokeNative(Native Method)
10-02 12:49:00.813: E/AndroidRuntime(9227): at java.lang.reflect.Method.invoke(Method.java:511)
10-02 12:49:00.813: E/AndroidRuntime(9227): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
10-02 12:49:00.813: E/AndroidRuntime(9227): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
10-02 12:49:00.813: E/AndroidRuntime(9227): at dalvik.system.NativeStart.main(Native Method)
Những dòng là 'MainActivity.java: 31'? – ssantos
'shareAction.setShareIntent (shareIntent);' –
bạn có chắc chắn rằng thư viện hỗ trợ đang được đưa vào bản dựng không? – MikeIsrael