https://github.com/ManuelPeinado/FadingActionBar Я использую эту библиотеку для реализации панели действия замирания в моем фрагменте (начинается с ящика навигации [Главная активность] и при щелчке по одному элементу в навигационном ящике открывается основное содержимое. Фрагмент списка [Фрагмент 1] и при нажатии на любой элемент в списке открывается другой фрагмент, который отображает детали [Фрагмент 2]).java.lang.IllegalStateException: указанный ребенок уже имеет родителя Только при использовании библиотеки FadingActionBar?
я нажимаю на пункт на навигационном ящик, а затем в 1-осколочной мыши на любом элементе списка, а затем открыть 2-го frag.Now Мои приложения аварии, когда я нажимаю кнопку назад, когда на ошибки второго Fragment.with
java.lang.IllegalStateException: The specified child already has a parent.You must call removeView() on the child's parent first.
, если в 1-м фрагменте я использую в onCreateView
return inflater.inflate(R.layout.myxml,container,false);
Он не откажет
НО, если я использую (ниже в OncreateView вместе с onAttach), как я должен реализовать fadingActionbarlibrary: он выходит из строя.
oncreateView(....){
super...
view = mFadingHelper.createView(inflater);
return view;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mFadingHelper = new FadingActionBarHelper()
.actionBarBackground(R.drawable.ab_background)
.headerLayout(R.layout.header_light)
.contentLayout(R.layout.list_main_all)
.lightActionBar(true);
mFadingHelper.initActionBar(activity);
}
1-й FTRAG
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentManager.OnBackStackChangedListener;
import android.support.v4.app.ListFragment;
import android.view.InflateException;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.manuelpeinado.fadingactionbar.FadingActionBarHelper;
public class CommunityFragment extends ListFragment {
View view;
private FadingActionBarHelper mFadingHelper;
List<list_object> lite = new FlowerData().getFlowers();
public CommunityFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
list_all_main_adapter adap = new list_all_main_adapter(getActivity(),
R.layout.list_view_custom_all, lite);
setListAdapter(adap);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
list_click fragment = null;
switch (position) {
case 0:
getFragmentManager().beginTransaction()
.replace(getId(), new list_click(position), "Passing and replacing")
.addToBackStack(null).commit();
// getFragmentManager().beginTransaction().remove(new CommunityFragment()).commit();
break;
case 1:
getFragmentManager().beginTransaction()
.replace(getId(), new list_click(position), "Passing and replacing")
.addToBackStack(null)
.commit();
break;
case 2:
getFragmentManager().beginTransaction()
.replace(getId(), new list_click(position), "Passing and replacing")
.commit();
break;
default:
break;
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = mFadingHelper.createView(inflater);
return view;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mFadingHelper = new FadingActionBarHelper()
.actionBarBackground(R.drawable.ab_background)
.headerLayout(R.layout.header_light)
.contentLayout(R.layout.list_main_all)
.lightActionBar(true);
mFadingHelper.initActionBar(activity);
}
}
второй фрагмент
import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager.OnBackStackChangedListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.manuelpeinado.fadingactionbar.FadingActionBarHelper;
public class list_click extends Fragment {
public static int pos = 0;
View v;
public list_click() {
}
public list_click(int p) {
pos = p;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
v = inflater.inflate(R.layout.onlist_clik, container, false);
TextView tv = (TextView) v.findViewById(R.id.textView3);
tv.setText("Position " + pos);
return v;
}
}
Спасибо.
вы можете вставить другой код этого файла ... а также logcat, чтобы узнать, где именно проблема .. – Toppers
Я разместил его, в 1-м фрагменте я менял oncreateView и добавлял метод onAttach – nikhilvit
любой, мог кто-нибудь видит проблему? – nikhilvit