在我的小应用程序中,我有一个PageAdapter-> Fragment-> ListView-> ImageView.在onImageClick上我希望在另一个片段(Fragment3)中显示我的图像,但是当我在Fragment3中加载图像时会得到一个例外
public class Fragment3 extends DialogFragment {
ImageLoader imageLoader;
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = (ViewGroup) inflater.inflate(R.layout.fragment3_layout, container, false);
imageView = (ImageView) view.findViewById(R.id.imageViewFrag3);
detail = (TextView) view.findViewById(R.id.textViewFrag3);
imageUrl = getArguments().getString("URL");
imageView.setTag(imageUrl);
activity=this;
imageLoader = new ImageLoader(activity.getActivity().getApplicationContext());
imageLoader.DisplayImage(imageUrl, (Activity) activity.getActivity(), imageView);
return view;
}
...
}
Run Code Online (Sandbox Code Playgroud)
和创建异常的代码.当我创建一个片段并添加ListView时,所有传递确定,但是当我创建另一个片段(子)并想要加载Photo时它失败了.
代码,如何创建子片段,没有PageAdapter
holder.imgViewImage = (ImageView) vi.findViewById(R.id.imageView01);
holder.imgViewImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
android.support.v4.app.FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
Fragment3 newFragment = Fragment3.newInstance();
Bundle bundle=new …Run Code Online (Sandbox Code Playgroud) 我有碎片的问题.
我面临的问题是,我有一个简单的问题 DialogFragment
public class Fragment3 extends DialogFragment {
private Fragment activity;
ViewGroup root;
static Fragment3 newInstance() {
Fragment3 f = new Fragment3();
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
root = (ViewGroup) inflater.inflate(R.layout.fragment3_layout, container, false);
return root;
}
}
Run Code Online (Sandbox Code Playgroud)
我想从另一个片段创建这个片段
public class ListViewImageAdapter extends BaseAdapter {
private Fragment activity;
....
public ListViewImageAdapter(Fragment activity, ArrayList<Object> listImages) {
this.activity = activity;
...}
....
FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
Fragment3 newFragment = Fragment3.newInstance();
newFragment.show( ft, "dialog");
.... …Run Code Online (Sandbox Code Playgroud)