2015-01-01 4 views
0

im пытается настроить кнопку, которую пользователь может нажать, чтобы перенести их на следующую букву алфавита. Я ранее достигал этого, создав 26 разных классов, и было слишком много времени для достижения.Настройте кнопку, которая может содержать динамическую информацию

Зеленые стрелки LEFT AND RIGHT будут использоваться для перехода пользователя к предыдущей или следующей букве из письма, которое они просматривают в настоящее время.

Я пробовал использовать случаи, если условия и теперь исчерпываются идеями?

Его простая проблема со сложной стороны, все, что я хочу, - это изменить изображение и звук, когда пользователь щелкает каждую букву. Если вы можете каким-либо образом помочь, это решит больше, чем этот вопрос, который я поднял. Заранее спасибо.

Фото GUI.

enter image description here

+0

1 ImageView, 5 кнопок. Законченный. Ах, конечно, букв алфавита 26 * 2 (нижний и верхний регистр) (не лучше ли вам ** использовать шрифт, возможно, красивый шрифт в TextView вместо?) И графику для кнопок. –

+0

Я использовал кнопку переключения, так что пользователь может переключаться и выключать, и он изменит изображение из Capital Letter на Small Letter, поэтому его только 26 классов плюс еще несколько для всплеска и меню и т. Д. –

+0

Вам не нужен класс для каждой буквы , Звучит ужасно. –

ответ

0

Я надеюсь, что это то, что вы после этого. Если у вас есть набор из 26 изображений, каждое из которых представляет собой букву алфавита, вы можете определить их в целочисленный массив, как это (я только зашел так далеко, как «г» для данного примера):

int[] images = {R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d}; 

Ваш ImageView, например, является:

ImageView letter = (ImageView) findViewById(R.id.letter); 

целое, чтобы установить предыдущее/следующее изображение на основе индекса ИНТ [] изображений:

int index; 

Если предположить, что ваши спины следующие кнопки/являются backBtn и nextBtn, set которые будут устанавливать значение «индекс» для каждого щелчка (мы проверяем, что onClick выполняется только в том случае, если значение индекса находится в пределах значений int [] (от 0 до images.length):

backBtn.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     if (index > 0) { 
      letter.setImageResource(images[index]); 
      index -= 1; 
     } 
    } 
}); 

nextBtn.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     if (index < images.length) { 
      letter.setImageResource(images[index]); 
      index += 1; 
     } 
    } 
}); 

Я не испытал ничего из этого, но я думаю, что он должен работать. Надеюсь, я снова не понял вас;)

+0

Im unsure, что вы имеете в виду, можете ли вы лучше объяснить, как im, довольно новый для разработки Android. –

+0

Извините, я неправильно понял ваш вопрос, но дайте мне пару минут, чтобы отредактировать ответ с тем, что я думаю, в большей степени по тому, что вы просили;) – mjp66

+0

, что будет замечательно спасибо –