アダプターでgetFragmentManager()を使用する方法。どのようにアダプタでこのコードを使用しますか? (私はSecondFragmentでこのコードを使用しています)。 アダプターでgetFragmentManager()を使用する方法
Fragment frg = null;
frg = getFragmentManager().findFragmentByTag("OneFragment");
final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.detach(frg);
ft.attach(frg);
ft.commit();
Fragment frg = null;
frg = ((Activity) context).getFragmentManager().findFragmentByTag("OneFragment");
final FragmentTransaction ft = ((Activity) context).getFragmentManager().beginTransaction();
ft.detach(frg);
ft.attach(frg);
ft.commit();
とショーのエラー私に:私のアダプタで
Required:
android.support.v4.app.Fragment
Found:
android.app.FragmentManage
は(私がgetFragmentManager()
を使用する必要があります私のアダプタ。):
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;
import me.bazaarche.Fragment.FilterFragment;
import me.bazaarche.Fragment.HomeFragment;
import me.bazaarche.app.R;
public class CategorySub1Adapter extends RecyclerView.Adapter<CategorySub1Adapter.ViewHolder> {
private Context context;
private String[] categorySub1Name;
int categoryPosition;
int categorySub0Position;
FragmentManager fragmentManager;
public CategorySub1Adapter(Context context, FragmentManager fragmentManager, String[] categorySub1Name, int categoryPosition, int categorySub0Position) {
this.context = context;
this.categorySub1Name = categorySub1Name;
this.categoryPosition = categoryPosition;
this.categorySub0Position = categorySub0Position;
this.fragmentManager = fragmentManager;
}
class ViewHolder extends RecyclerView.ViewHolder {
View categorySub1Menu;
TextView categorySub1Name;
ViewHolder(View itemView) {
super(itemView);
categorySub1Menu = itemView.findViewById(R.id.category_sub0_menu);
categorySub1Name = itemView.findViewById(R.id.category_sub1_name);
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_category_sub1, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
holder.categorySub1Name.setText(categorySub1Name[position]);
Animation animation = AnimationUtils.loadAnimation(context, R.anim.open_menu);
animation.setStartOffset(30 * position);
holder.itemView.startAnimation(animation);
HomeFragment.adAdapter.ClearList();
HomeFragment.last_ad_id = 0;
FilterFragment.categoryPosition = categoryPosition;
FilterFragment.categorySub0Position = categorySub0Position;
FilterFragment.categorySub1Position = position;
HomeFragment.adAdapter.LoadMore();
Fragment frg = null;
frg = fragmentManager.getFragmentManager().findFragmentByTag("OneFragment");
final FragmentTransaction ft = fragmentManager.getFragmentManager().beginTransaction();
ft.detach(frg);
ft.attach(frg);
ft.commit();
}
@Override
public int getItemCount() {
return categorySub1Name.length;
}
}
私のアダプターにはgetFragmentManager()
が必要です。
私は使用時 'Fragment.getFragmentManagerは()'私にエラーを表示し、doesnのいない:
てみ、これは使用して
Framgnet
を変更するには'FragmentManager.getFragmentManager()'を使うとエラーが出て動作しません。 –これはなに? Fragment.getFragmentManager()私が編集した慎重 –
を使用しています。アダプタで 'getFragmentManager()'を使う必要があります。私はあなたを助けることができないアダプタ 'getActivity()'は利用できません –