0

У меня есть customView и я делаю levelization на это, но когда я попытался пройти уровень от mainActivity к моему customView какКак передать данные в customView?

Bundle transporter=getIntent().getExtras(); 

затмение сказал;

Метод getIntent() не определен для типа CustomView.

Я не хочу делать customView для каждого уровня. Я должен получить уровень от моего MainActivity.

Как это сделать? Помощь по PLS.

вот и моя деятельность

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 и назначить на «уровень» в моей деятельности.

После этого ı нужно установить backround до заданного уровня в 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); 

} 
+0

вы должны установить настраиваемый вид активности с помощью setContentView –

+0

Передайте свой параметр в CustomView Constructor. –

+0

Я сделал, но перед установкой ContentView, ı должен передать уровень, чтобы установить backround в customView. Поэтому до уровня, backround будет установлен в CustomView. Фактически, я получаю уровень во-первых. –

ответ

0

Тест путь

Bundle transporter = ((Activity)getContext()).getIntent().getExtras(); 
+0

«Действия не могут быть разрешены для типа» .Eclipse не позволяет: s –

+0

нажмите ctrl + shift + O –

+0

Это не работает, возможно, не могу сделать это по-настоящему. Я добавил свой код для публикации, а может быть более наглядным .Спасибо за внимание. –

0

извлечения значения из Bundle транспортеров = ((активность) getContext()) getIntent() getExtras()..; затем передайте его в пользовательском представлении с помощью конструктора. Затем извлеките его и используйте.

+0

Спасибо за помощь, но этот customView в XML-макете, поэтому я не использую конструктор непосредственно в mainActivity для customview. Этот метод может работать, но как можно применить в этих обстоятельствах PLS объяснить это. –

+0

, пожалуйста, напишите свой код – gbl

+0

Я отредактировал сообщение. Мой код в нем. Спасибо за помощь. –

Смежные вопросы