在Activity A中自定义了一个View V,想在V中引用A中的另一个图片P,来控制P的显示或者不显示。如何来实现阿?
现在的我的做法是在类A中定义了一个类A类型的静态变量instance,通过instance来操作Activity A的所有成员和方法。但这样做会引起内存泄露的问题。

解决方案 »

  1.   

    可以在Activity里面写一个showIMG()方法  
    在你的View里面调用这个Activity的方法来控制显示 隐藏
      

  2.   

    在V中定义个接口,接口中写方法控制图片,A实现接口。在实现相对应方法中操作P
      

  3.   

    类是监听者
    public class ViewV extends View {
    private OperatorP mOperatorP;
    public ViewV(Context context) {
    super(context);
    }

    interface OperatorP{
    public void showP();
    public void hideP();
    }

    public void setOperatorP(OperatorP operatorP){
    mOperatorP = operatorP;
    }

    }public class ActivityA extends Activity implements OperatorP{
    private Bitmap bitmapP;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // 获取 view 设置它的OperatorP
    }

    @Override
    public void showP() {
    // bitmapP 显示
    } @Override
    public void hideP() {
    // bitmapP 隐藏
    }}
      

  4.   


    恩,这个方法可以的,我也是这个原理,从View V中实现在Activty中才可以实现的操作