Хочу сделать такой интерфейс: пользователь в текстовом поле вводит количество элементов в матрице. И на экране пользователя появляется матрица этого размера. При нажатии на элемент матрицы, чтобы срабатывало какое - то событие.
Подскажите как это лучше сделать на андроиде Java? С помощью каких view?
Для отображения таблици лучше использовать GridView - Почитайте. Гдето здесь
[Ваш путь к Андроид]/Android/docs/reference/android/widget/GridView.html
Вот примерно такой класс можно создать
public class Activity extends android.app.Activity implements OnKeyListener {
/**
* Текстовое поле для ввода количества елементов матрицы
*/
private EditText et;
/**
* Матрица, которая вам нужна. Просто создайте нужный вам класс
*/
private MyMetrix mat;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
LinearLayout ll=new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
ScrollView sv=new ScrollView(this);
sv.addView(ll);
et=new EditText(this);
//регистрируем слушаетля ввода с клавиатуры
et.setOnKeyListener(this);
ll.addView(et);
//создайте ваш обьект матрицы
mat=new MyMetrix(this);
mat.setVisible(false);
//добавлени евашего обьекта в отображение
ll.addView(mat);
this.setContentView(sv);
}
@Override
public boolean onKey(View v, int d, KeyEvent k) {
// TODO Auto-generated method stub
try{
if(v==et){
//в текстовое поле что-то ввели
String strInEditText=et.getText().toString();
int numMatrix=Integer.parseInt(strInEditText);
//изменяем количество елементов матрцы
mat.setElementsCount(numMatrix);
//устанавливаем, что бы видно было матрицу
mat.setVisible(true);
}
}catch(Exception e){
}
return false;
}
/**
* Ваш класс матрыцы. Просто отредактируйте его
* @author 1
*
*/
class MyMetrix extends GridView {
private int count;
public MyMetrix(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public void setVisible(boolean visible){
}
public void setElementsCount(int newCount){
count=newCount;
}
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок