이 코드에서 CustomAdapter & setArguments(bundle)
의 getSupportFragmentManager()
을 호출하여 다른 조각에 사용할 수 없습니다. 내 코드에서이 두 가지 방법을 해결할 수 없습니다. 어떻게 이러한 메소드를 호출 할 것인가? 좋은 말 할 사람이ArrayAdapter에서 getSupportFragmentManager()를 호출하는 방법
FragmentManager quote_fm = context.getSupportFragmentManager().beginTransaction();
또는
FragmentManager quote_fm = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
시작하는 단편 필요한 코드처럼 나에게
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class CustomGridViewAdapter extends ArrayAdapter<CategoryPost> {
private Context context;
private int layoutResourceId;
private ArrayList<CategoryPost> data = new ArrayList<CategoryPost>();
private Fragment getquoteFrag;
public CustomGridViewAdapter(Context context, int resource, ArrayList<CategoryPost> objects) {
super(context, resource, objects);
this.layoutResourceId = resource;
this.context = context;
this.data = objects;
}
static class ViewHolder {
TextView success, message, id, name;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null){
holder = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(layoutResourceId, parent, false);
holder.id = (TextView)convertView.findViewById(R.id.tv_data_id);
holder.name = (TextView)convertView.findViewById(R.id.tv_name_id);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
final CategoryPost post = data.get(position);
holder.name.setText(post.getName());
holder.name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle bundle = new Bundle();
getquoteFrag = new GetQuoteFragment();
FragmentManager quote_fm = getSupportFragmentManager().beginTransaction();;
FragmentTransaction quote_ft = quote_fm.beginTransaction();
bundle.putString("pos", String.valueOf(post.getId()));
quote_fm.setArguments(bundle);
}
});
return convertView;
}
}
'getSupportFragmentManager' 그래서 분명히 와나이 그것을 호출하는 경우이 클래스 – Selvin
@Selvin의 인스턴스에 대한 참조가 필요 ... FragmentActivity''의 구성원 인 여전히 해결할 수 없습니다. –
왜 어댑터에 필요합니까? – Avi