在xml android中实例化一个类

时间:2013-09-27 13:03:11

标签: android

在我的应用程序中,我使用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()方法时,实例化此类。 但在某一点上,我想重新实现这个类。 我怎样才能做到这一点。

1 个答案:

答案 0 :(得分: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);