强文本应用程序有一个包含图像的片段,我想将图像传递给活动使用Bitmap,当我点击将此图像设置为墙纸时。
来自片段:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_view_pager, null);
ImageView resultView = (ImageView) view.findViewById(R.id.result_image);
resultView.setDrawingCacheEnabled(true);
bitmap = resultView.getDrawingCache();
resultView.setImageResource(pageNumber);
return view;
}
要活动,当我点击设置时:
case R.id.setForce:
new TaskSetWallpaper(PreviewActivity.this).execute(bitmap);
break;
答案 0 :(得分:0)
您可以在片段中创建一个接口,该片段的父活动应该实现该接口。然后,您可以将活动强制转换为片段onAttach()
中的接口,并调用接口中的方法以通知事件或将数据传递给父活动。
片段:
public class MyFragment extends Fragment {
private EventListener eventListener;
public interface EventListener() {
void onSetImage(Bitmap bitmap);
}
@Override
public void onAttach(Activity a) {
super.onAttach(a);
if (a instanceof EventListener) {
eventListener = (EventListener) a;
} else {
throw new UnsupportedOperationException("Parent activity should implement MyFragment.EventListener");
}
}
}
家长活动:
public class ParentActivity extends AppCompatActivity implements MyFragment.EventListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
//---------
//---------
}
@Override
void onSetImage(Bitmap bitmap){
new TaskSetWallpaper(PreviewActivity.this).execute(bitmap);
}
}