我正在開發一個需要在Onclick方法上打開ShareAction菜單的項目,我似乎無法讓它工作。首先,我有ShareAction菜單工作,但只在設置菜單中,這是;是我,當我試圖將其應用到的ImageButton的onclick方法Android我怎樣才能讓ShareActionProvider工作在ImageButton上點擊
// This is inside the Oncreate Method
share= (ImageButton)findViewById(R.id.share);
share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ShareActionProvider nn= new ShareActionProvider(Login.this);
Intent ShareIntent=new Intent(Intent.ACTION_SEND);
ShareIntent.setAction(Intent.ACTION_SEND);
ShareIntent.setType("text/plain");
ShareIntent.putExtra(Intent.EXTRA_TEXT, "Text To share");
nn.setShareIntent(ShareIntent);
}
});
上面的代碼不起作用它不給任何錯誤或沒有。我有相同的代碼使用設置菜單的工作,做了以下 菜單的活動
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".Login">
<item android:id="@+id/action_settings" android:title="@string/action_settings"
android:orderInCategory="200" android:icon="@drawable/overflow" app:showAsAction="never" />
<item android:id="@+id/action_share" android:title="@string/action_share" android:orderInCategory="100" app:showAsAction="ifRoom"
android:actionProviderClass="android.widget.ShareActionProvider"
/>
</menu>
然後簡單地把它添加到菜單
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_login, menu);
MenuItem shareItem= 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, "Text To share");
mShare.setShareIntent(ShareIntent);
return true;
}
我缺少什麼或者做錯了是不是讓該菜單在Oncreate中打開?
噢好吧完美謝謝讓我知道,我是新來的。由於我需要用戶共享單個帖子,因此我將在第二個選項上工作。 –