Android 使用指向片段的onclick创建listview

Android 使用指向片段的onclick创建listview,android,baseadapter,android-actionbaractivity,Android,Baseadapter,Android Actionbaractivity,Hi希望创建一个listview,当您单击它时,它将转到一个片段。我尝试创建一个扩展到BaseAdapter的CustomAdapter,但我在fragment和getSupportFragmentManager()方面遇到问题,它显示“无法解决方法”getSupportFragmentManager() 这是我的CustomAdapter的代码 public class CustomAdapter extends BaseAdapter { Activity activity; String

Hi希望创建一个listview,当您单击它时,它将转到一个片段。我尝试创建一个扩展到BaseAdapter的CustomAdapter,但我在fragment和getSupportFragmentManager()方面遇到问题,它显示“无法解决方法”getSupportFragmentManager()

这是我的CustomAdapter的代码

public class CustomAdapter extends BaseAdapter {
Activity activity;
String [] result;
Context context;
int [] imageId;
private static LayoutInflater inflater=null;

public CustomAdapter(MainActivity mainActivity, int[] prgmImages) {
    context=mainActivity;
    imageId=prgmImages;
    inflater = ( LayoutInflater )context.
            getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
    return imageId.length;
}

@Override
public Object getItem(int position) {
    return position;
}

@Override
public long getItemId(int position) {
    return position;
}

public class Holder
{
    ImageView img;
}


@Override
public View getView(final int position, View convertView, ViewGroup parent) {

    Holder holder=new Holder();
    View rowView;
    rowView = inflater.inflate(R.layout.menu_list, null);
    holder.img=(ImageView) rowView.findViewById(R.id.imageView1);
    holder.img.setImageResource(imageId[position]);
    rowView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            Fragment frag = new Fragment();

            if (position == 0) {

            } else if (position == 1) {
                frag = new ServicesFrag();
            } else if (position == 2) {

            } else if (position == 3) {

            } else if (position == 4) {

            }

            if (frag != null) {
                FragmentManager fragmentManager = getSupportFragmentManager();
                fragmentManager.beginTransaction()
                        .replace(R.id.frame_container, frag).addToBackStack(null).commit();


            } else {
                // error in creating fragment
                Log.e("MainActivity", "Error in creating fragment");
            }
            // TODO Auto-generated method stub
            Toast.makeText(context, "You Clicked " + position, Toast.LENGTH_LONG).show();
        }
    });
    return rowView;
}
}

谢谢你的帮助。

试试这个

ListView listView = (ListView)findViewById(R.id.listView);
CustomAdapter adapter = new CustomAdapter(activity, array);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long arg)   {

    Fragment frag = new Fragment();

        if (position == 0) {

        } else if (position == 1) {
            frag = new ServicesFrag();
        } else if (position == 2) {

        } else if (position == 3) {

        } else if (position == 4) {

        }

        if (frag != null) {
            FragmentManager fragmentManager = getSupportFragmentManager();
            fragmentManager.beginTransaction()
                    .replace(R.id.frame_container, frag).addToBackStack(null).commit();


    }
});
ListView ListView=(ListView)findViewById(R.id.ListView);
CustomAdapter=新的CustomAdapter(活动,数组);
setAdapter(适配器);
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(适配器视图适配器、视图视图、整型位置、长参数){
Fragment frag=新片段();
如果(位置==0){
}否则如果(位置==1){
frag=新服务frag();
}否则如果(位置==2){
}否则如果(位置==3){
}否则如果(位置==4){
}
如果(frag!=null){
FragmentManager FragmentManager=getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container,frag).addToBackStack(null.commit();
}
});