1

在我的应用程序中,我使用 TouchImageView 类进行缩放。我正在从我的 xml 实例化该类。

<com.nspl.utility.TouchImageView
    android:id="@+id/imageViewDoc"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true" />

TouchImageView 扩展了 ImageView 类。

现在,当调用 setContentView() 方法时,此类会被实例化。但在某个时候,我想重新实例化这个类。我怎样才能做到这一点。

4

1 回答 1

0

你有没有尝试过这样的事情?

public class TouchImageViewActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //What you're code might look like now
        TouchImageView img = (TouchImageView) findViewById(R.id.imageViewDoc);
        img.setImageResource(R.drawable.snoopy);
        img.setMaxZoom(4f);
    }

    //Method to initiate new instance of class
    public TouchImageView newTouchImageView (){
        return new TouchImageView (this); //This constructor should work
    }
}

如果要添加新实例来表示 LinearLayout,可以执行以下操作:

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.image_list);
TouchImageView img = newTouchImageView ();
img.setImageResource(R.drawable.another_image);
img.setMaxZoom(4f);
linearLayout.addView (img);

如果您想替换旧视图,我只需添加新视图并调用 layoutParent.removeView(oldTouchImageView);

于 2013-09-27T13:46:46.837 回答