2013-02-11 5 views
0

Я хочу вызвать класс в зависимости от нажатой кнопки.Невозможно создать динамический класс в android

Именно поэтому я хочу иметь объект класса типа, которому я могу присвоить имя класса, которое уже присутствует в пакете. Я не понимаю, как его создать.

для ex. У меня есть десять классов с именем от одного до десяти. Если я нажмите первую кнопку я должен идти в класс один намеренно, как

Intent i = new Intent(MainActivity.this,calledprog.class); 

где calledprog может изменить свое название от одного до десяти.

Надеюсь, у вас есть мой вопрос и, пожалуйста, простите меня за мой неправильный английский.

+0

Попробуйте объявить ваше намерение объекта за пределами заявления выключателя, а затем его инициализации в них , – Caerulius

+0

извините, но я не знаю. Я не знаю, как объявить динамическую переменную класса, которую я пробовал, используя класс classname; от этого имени класса я хочу назвать любой другой класс. – ashwinbhy

ответ

1

Создать массив всех классов и при нажатии на кнопку I-й кнопки - получить я-й элемент из массива:

private static final Class<?>[] NUMBERS = {One.class, Two.class, ...}; 

// Method that handles button clicks. 
int num = // get number of button 
Intent i = new Intent(MainActivity.this, NUMBERS[num]); 
+0

получение здесь ошибка 'Намерение я = новый Intent (MainActivity.this, ЧИСЛА [0] .class);' Описание \t \t Resource Path \t \t Расположение Тип Синтаксис ошибка маркера "класс", идентификатор ожидается \t MainActivity. java \t/BasicCProgram/src/com/ashsoft/basiccprogram \t строка 26 \t Проблема Java – ashwinbhy

+1

@ashwinbhy не добавляет 'class' после' NUMBERS [0] '. –

+0

Ох. Извините, это была глупая ошибка. Спасибо за тонну за поддержку. – ashwinbhy