如何从既不扩展活动也不扩展android中片段的java类中调用片段? 公共类PhotoGalleryExample扩展框架布局实现SpringListener{ 私有静态最终整数行=3; 专用静态最终int COLS=2; 私有最终列表mImageViews=newarraylist(); 私有最终列表位置=新建ArrayList(); 私有最终SpringChain mSpringChain=SpringChain.create(); 私人最终春季mSpring=SpringSystem .create() .createSpring() .addListener(此) .setSpringConfig(来自折纸拉伸和摩擦的SpringConfig.40,6)); 私有int mActiveIndex; 私人内部添加; 私人终审法院; private-ImageDto-idto=new-ImageDto(); 私人互联网1; 国际关系; 公共静态图像视图img; 公共PhotoGalleryExample(上下文,字符串imgCode){ 超级(上下文); con=上下文; int viewCount=行*列; 对于(int i=0;i(无法解决错误) 请建议我如何从这个类中调用fragment
这是java类,用于imageview动画。在任何imageview的click事件中,我都想打开一个片段。 但是getFragmentManager()显示错误->(无法解决错误) 请建议我如何从这个类中调用fragment如何从既不扩展活动也不扩展android中片段的java类中调用片段? 公共类PhotoGalleryExample扩展框架布局实现SpringListener{ 私有静态最终整数行=3; 专用静态最终int COLS=2; 私有最终列表mImageViews=newarraylist(); 私有最终列表位置=新建ArrayList(); 私有最终SpringChain mSpringChain=SpringChain.create(); 私人最终春季mSpring=SpringSystem .create() .createSpring() .addListener(此) .setSpringConfig(来自折纸拉伸和摩擦的SpringConfig.40,6)); 私有int mActiveIndex; 私人内部添加; 私人终审法院; private-ImageDto-idto=new-ImageDto(); 私人互联网1; 国际关系; 公共静态图像视图img; 公共PhotoGalleryExample(上下文,字符串imgCode){ 超级(上下文); con=上下文; int viewCount=行*列; 对于(int i=0;i(无法解决错误) 请建议我如何从这个类中调用fragment,android,android-fragments,Android,Android Fragments,这是java类,用于imageview动画。在任何imageview的click事件中,我都想打开一个片段。 但是getFragmentManager()显示错误->(无法解决错误) 请建议我如何从这个类中调用fragment 提前谢谢您的照片画廊示例是一个视图,因此您可以将上下文投射到所属的活动,因为大多数时候活动承载以下视图: (Activity)getContext()另一种方法是在imageview类中实现一个接口,并在图像单击时将回调推到您的活动(使用此imageview的位置)我想您
提前谢谢您的
照片画廊示例
是一个视图
,因此您可以将上下文
投射到所属的活动
,因为大多数时候活动
承载以下视图:
(Activity)getContext()
另一种方法是在imageview类中实现一个接口,并在图像单击时将回调推到您的活动(使用此imageview的位置)我想您只在getFragmentManager()上遇到编译错误。请显示您的导入,将它们全部发布在该Java文件中。我希望导入android.app.FragmentManager和android.app.FragmentTransaction。
public class PhotoGalleryExample extends FrameLayout implements SpringListener {
private static final int ROWS = 3;
private static final int COLS = 2;
private final List<ImageView> mImageViews = new ArrayList<ImageView>();
private final List<Point> mPositions = new ArrayList<Point>();
private final SpringChain mSpringChain = SpringChain.create();
private final Spring mSpring = SpringSystem
.create()
.createSpring()
.addListener(this)
.setSpringConfig(SpringConfig.fromOrigamiTensionAndFriction(40, 6));
private int mActiveIndex;
private int mPadding;
private final Context con;
private ImageDto idto=new ImageDto();
private int res1;
int res;
public static ImageView img;
public PhotoGalleryExample(Context context,String imgCode) {
super(context);
con=context;
int viewCount = ROWS * COLS;
for (int i = 0; i < viewCount; i++) {
final int j = i;
// Create the View.
//idto=l;
final ImageView imageView = new ImageView(context);
mImageViews.add(imageView);
addView(imageView);
imageView.setAlpha(0f);
imageView.setBackgroundColor(Util.randomColor());
imageView.setLayerType(LAYER_TYPE_HARDWARE, null);
// Add an image for each view.
Log.d("PhotoGallery i ",""+i);
Log.d("PhotoGallery imagename ",""+LoadImages.imgList.get(i).getImagename());
/* res = getResources().getIdentifier(LoadImages.imgList.get(i)
.getImagename(), "drawable", context.getPackageName());*/
res=getResources().getIdentifier(imgCode.toLowerCase()+"_sample_"+i, "drawable", context.getPackageName());
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setImageResource(res);
img=imageView;
// Add a click listener to handle scaling up the view.
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
res1=getResources().getIdentifier(LoadImages.imgList.get(j).getImagename(), "drawable", con.getPackageName());
SelectImageActivity sf= new SelectImageActivity();
Bundle data= new Bundle();
data.putInt("index",j);
sf.setArguments(data);
//////// this getFragmentManager() is showing error
FragmentManager fr=getFragmentManager();
FragmentTransaction ft=fr.beginTransaction();
ft.replace(R.id.main_fragment, sf);
ft.commit();
Intent intent = new Intent(con, SelectImageActivity.class);
intent.putExtra("index",j);
con.startActivity(intent);
}
});
// Add a spring to the SpringChain to do an entry animation.
mSpringChain.addSpring(new SimpleSpringListener() {
@Override
public void onSpringUpdate(Spring spring) {
render();
}
});
}
// Wait for layout.
getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
layout();
getViewTreeObserver().removeOnGlobalLayoutListener(this);
postOnAnimationDelayed(new Runnable() {
@Override
public void run() {
mSpringChain.setControlSpringIndex(0).getControlSpring().setEndValue(1);
}
}, 500);
}
});
}