ActionBar 中实现分享(又有个坑)

来源:互联网 发布:数据库原理及应用 编辑:程序博客网 时间:2024/05/22 15:00
<item    android:id="@+id/action_settings"    android:orderInCategory="100"    android:title="@string/action_settings"    app:showAsAction="never"    app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/>
import android.support.v7.widget.ShareActionProvider;
MenuItem item =menu.findItem(R.id.action_settings); shareActionProvider=(ShareActionProvider) MenuItemCompat.getActionProvider(item);
/* shareActionProvider=(ShareActionProvider) item.getActionProvider();*///要是用这句报错
item中的ShareActionProvider和在MainActitity中导入的ShareActionProvider是同一个包中的
下面是实现的代码
public boolean onCreateOptionsMenu(Menu menu) {    // Inflate the menu; this adds items to the action bar if it is present.    getMenuInflater().inflate(R.menu.menu_main, menu);    MenuItem item =menu.findItem(R.id.action_settings);     shareActionProvider=(ShareActionProvider) MenuItemCompat.getActionProvider(item);  /* shareActionProvider=(ShareActionProvider) item.getActionProvider();*/    return true;}
public boolean onOptionsItemSelected(MenuItem item) {    // Handle action bar item clicks here. The action bar will    // automatically handle clicks on the Home/Up button, so long    // as you specify a parent activity in AndroidManifest.xml.    int id = item.getItemId();    //noinspection SimplifiableIfStatement    if (id == R.id.action_settings) {        Intent intent = new Intent(Intent.ACTION_SEND);        intent.setType("text/plain");        intent.putExtra(Intent.EXTRA_TEXT, "aa");        shareActionProvider.setShareIntent(intent);        return true;    }    return super.onOptionsItemSelected(item);}
                                             
0 0