Android 使用指向片段的onclick创建listview
Hi希望创建一个listview,当您单击它时,它将转到一个片段。我尝试创建一个扩展到BaseAdapter的CustomAdapter,但我在fragment和getSupportFragmentManager()方面遇到问题,它显示“无法解决方法”getSupportFragmentManager() 这是我的CustomAdapter的代码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
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();
}
});