为对象制作类的最佳方法?

时间:2015-09-30 20:17:25

标签: android class view

我正在尝试制作一款游戏。我需要一个带有图像的小猫对象。 我需要在多个活动中使用这个对象,所以我认为使用外部类可能更好。

我使用过类似的东西。但是函数findViewById(int)在活动之外是不可行的。怎么做?

public class Kitten {
    Context parent;
    View parentView;
    ImageView imgBody, imgHead;

    Kitten(Context context, View view) {
        parent = context;
        parentView = view;

        //Create body & head
        imgBody = new ImageView(parent);
        imgBody.setImageResource(R.mipmap.img_kitty_body_white);
        addImage(imgBody);
        imgHead = new ImageView(parent);
        imgHead.setImageResource(R.mipmap.img_kitty_head_white);
        addImage(imgHead);
    }

    private void addImage(ImageView img) {
        RelativeLayout rl = (RelativeLayout) findViewById(R.id.adoptView);
        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.WRAP_CONTENT,
                RelativeLayout.LayoutParams.WRAP_CONTENT);
        lp.addRule(RelativeLayout.BELOW, R.id.adoptView);
        lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        rl.addView(img, lp);
    }
}

我遇到的主要问题是addImage方法......

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用特定视图中的方法?尝试parentView.findViewById()

答案 1 :(得分:0)

您应该将图像ID存储在“Kitten”对象中,并使用getter方法在需要的位置检索它,或者如果要从那里使用findViewById,则可以传递父视图。

但是,您通常不会存储视图本身。