Помогите по фрагменту
Есть класс с ListFrafment, по нажатию по какому-либо Item хочу, чтобы на Вьюшку Листа накладывался новый Фрагмент:
public class MainListPhotoshop extends ListFragment{
protected ImageLoader loader = ImageLoader.getInstance();
DisplayImageOptions op;
//String[] imageUrls={"R.drawable.one","R.drawable.two","R.drawable.three"};
String [] images={"http://t2.gstatic.com/images?q=tbn:ANd9GcSZrajzoEXNlRWjMGE9L3kqI1EsFN9P5HCNhMo4xaqLkWuhAixo",
"http://t0.gstatic.com/images?q=tbn:ANd9GcQH7hisM_szjOKlVdQvq6m_J4lETkWxQOlAk3SMWs051TFFnmWMCA",
"http://3.bp.blogspot.com/-kAhN0HX-MBk/T_5bApfhbJI/AAAAAAAAAuI/lUww8xT9yV8/s1600/smileys_001_01.png"};
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
ArrayAdapter<String> setListAdapter = new ArrayAdapter<String>(getActivity(), R.layout.image_listview_layout,images);
op = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.ic_stub)
.showImageForEmptyUri(R.drawable.ic_empty)
// .showImageOnFail(R.drawable.ic_error)
.cacheInMemory()
.cacheOnDisc()
.displayer(new RoundedBitmapDisplayer(20))
.build();
setListAdapter(new ItemAdapter());
return super.onCreateView(inflater,container, savedInstanceState);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id){
switch(position){
case 0:
HomeFragment f4 = new HomeFragment();
FragmentTransaction ft= getFragmentManager().beginTransaction();
ft.replace(R.id.number_container10, f4);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();
break;
case 1:
break;
}
}
// private void startImagePagerActivity(int position) {
// Intent intent = new Intent(this, ImagePagerActivity.class);
// intent.putExtra(Extra.IMAGES, imageUrls);
// intent.putExtra(Extra.IMAGE_POSITION, position);
// startActivity(intent);
// }
class ItemAdapter extends BaseAdapter
{
//private ImageLoadingListener animate = new AnimateFirstDisplayListener();
private class ViewHolder {
public TextView text;
public ImageView image;
}
public int getCount() {
return images.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
final ViewHolder holder;
if (convertView == null) {
LayoutInflater inflater = getActivity().getLayoutInflater();
vi = inflater.inflate(R.layout.image_list_layout, parent, false);
holder = new ViewHolder();
holder.text = (TextView) vi.findViewById(R.id.text);
holder.image = (ImageView) vi.findViewById(R.id.image);
vi.setTag(holder);
} else {
holder = (ViewHolder) vi.getTag();
}
holder.text.setText("Item " + (position + 1));
loader.init(ImageLoaderConfiguration.createDefault(getActivity()));
loader.displayImage(images[position], holder.image, op, null);
return vi;
}
}
}
В HomeFragment все просто!
public class HomeFragment extends Fragment {
public HomeFragment(){
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
return rootView;
}
}
Его XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/txtLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="16dp"
android:text="бла бла бла"/>
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/txtLabel"
android:src="@drawable/ic_home"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"/>
<FrameLayout
android:id="@+id/number_container10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
Но он не накладывается как (replace), а просто выбивает
IllegalArgumentException: No view found for id