我是发展新手。我正在创建一个具有高级功能的Android计算器应用程序。我正在使用文本视图来获取和显示输入/输出。我的问题是,如何在多个Textview中获取多个输入。
例如,我有3个文本视图,当用户在第一个文本视图中输入第一个输入时(默认情况下),当用户按下特定按钮时,它会自动移动到下一个文本视图。在某些情况下,我想要2输入,在某些情况下我想要3, 我怎样才能实现这个目标
注意:我不想使用编辑文本,因为我的应用程序中已有的所有按钮。使用编辑文本将使软键盘出现,然后为了隐藏软键盘,我需要在每个类中使用隐藏代码行< / p>
答案 0 :(得分:1)
您可以执行以下操作:
private TextView[] textViews;
private TextView tvCurrentEditing;
private Button btnNext;
private Button btnPrev;
private Button btnSetText;
private int index = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
textViews = new TextView[3];
//Initialize all your textviews like textViews[0] = findViewById(<textview-id1>);
//textViews[1] = findViewById(<textview-id2>);
//textViews[2] = findViewById(<textview-id3>);
tvCurrentEditing = textViews[index];// I am assuming this is your first
//initialzie btnSettext
btnSettext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tvCurrentEditing.setText("<what ever you want");
}
});
//initialize next buton
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(index < textViews.length) {
index++;
}
tvCurrentEditing = textViews[index];
}
});
//Initialize previous button
btnPrev.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(index > 0) {
index--;
}
tvCurrentEditing = textViews[index];
}
});
}
观点的名称可能不同。只要您想要更改TextView的数据,该点始终使用tvCurrentEditing
。并在需要时更新tvCurrentEditing
。