0

私はcustomViewを持っていて、それをレベライズしますが、mainActivityからcustomViewにレベルを渡そうとしたとき

Bundle transporter=getIntent().getExtras();

日食は言った。

メソッド getIntent() は、型 CustomView に対して定義されていません。

すべてのレベルで customView を作成したくありません。MainActivity からレベルを取得する必要があります。

どうすればこれを行うことができますか?pls help.

私の活動はこちら

    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    Bundle selectionLevel=getIntent().getExtras();
    level=selectionLevel.getString("key");      
    setContentView(R.layout.cizme_oyunu);
    initial();
}

private void initial() {

    check = (Button) findViewById(R.id.checkButton);
    backrounds = new ArrayList<Integer>();
    cizmeView = (CizmeOyunuView) findViewById(R.id.Cizme_View);
    check.setOnClickListener(this);

    for (int i = 1; i < 10; i++) {
        int imageResources;
        imageResources = getResources().getIdentifier("check_rakam" + i,
                "drawable", this.getPackageName());
        backrounds.add(imageResources);
    }
}

checkBox からレベルを取得し、アクティビティの「レベル」に割り当てています。

その後、customView.CustomView コンストラクターで割り当てられたレベルまでバックラウンドを設定したいです。

public CizmeOyunuView(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub

    mPaint = new Paint();
    mPaint.setAntiAlias(true);
    mPaint.setDither(true);
    mPaint.setColor(0xff00ff00);// our draw
    mPaint.setStyle(Paint.Style.STROKE);
    mPaint.setStrokeJoin(Paint.Join.ROUND);
    mPaint.setStrokeCap(Paint.Cap.ROUND);
    mPaint.setStrokeWidth(50);
    myContext = context;

    mPath = new Path();
    mBitmapPaint = new Paint();
    mBitmapPaint.setColor(Color.RED);


    setBackgroundResource(R.drawable.check_rakam0);

}
4

2 に答える 2

0

Bundle transporter = ((Activity)getContext()).getIntent().getExtras(); から値をフェッチします。次に、コンストラクターを使用してカスタムビューに渡します..次に、そこで抽出して使用します。

于 2013-09-10T07:53:18.960 に答える