ActionBar의 Action Mode에 표시된 ShareActionProvider
을 사용하지 않으려합니다. 하지만ActionBar의 ShareActionProvider 사용 안 함
menu.findItem(R.id.myShareItem).setEnabled(false)
에서는 사용할 수 없습니다. 나는 무엇인가 놓치고 있거나 그것은 단지 무능력하게 될 수 없다?
UPDATE :
젤리 빈에 대한 테스트는,이 독립 활동 클래스는 문제를 보여줍니다:
package com.example;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.MimeTypeMap;
import android.widget.ShareActionProvider;
import android.widget.Toast;
public class MyActivity extends Activity {
private MenuItem mShareItem;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
ShareActionProvider sap = new ShareActionProvider(this);
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType(MimeTypeMap.getSingleton().getMimeTypeFromExtension("jpg"));
sap.setShareIntent(shareIntent);
mShareItem = menu.add("Share");
mShareItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
mShareItem.setActionProvider(sap);
MenuItem toggleItem = menu.add("Toggle");
toggleItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//---shouldn't this work ? -----
mShareItem.setEnabled(!mShareItem.isEnabled());
Toast.makeText(this,mShareItem + " enabled: " + mShareItem.isEnabled(),Toast.LENGTH_SHORT).show();
return super.onOptionsItemSelected(item);
}
}
흠 ... 나는 그것이 일하기를 기대했을 것입니다. 시각적 효과가 있습니까? LogCat에 기록 된 것이 있습니까? 네이티브 액션 바 (ABS가있는 버그 일 경우)로이 작업을 시도 했습니까? – CommonsWare
로그가 없다면,'MenuItem'은 false로 설정되어 있습니다.하지만 여전히 그것을 클릭 할 수 있습니다. 현재는'ShareIntent' null을 임시 해결책으로 사용하고 있습니다. 이것은'ActionMode'에서 일어납니다. –
그것은 혼란스럽고 b.android.com에서 버그 보고서를 보지 못했습니다. 문제를 보여주는 샘플 프로젝트를 만들 수 있다면 몇 가지 실험을 실행할 수 있습니다 (예 : 기본 액션 바에서 테스트). – CommonsWare