我是开发新手。我正在创建一个具有高级功能的 android 计算器应用程序。问题是我正在使用 TextView 来获取和显示输入/输出。我的问题是,如何在多个 Textview 中接受多个输入。
例如我有 3 个 TextView ,当用户将在第一个 TextView 中输入第一个输入(默认情况下)并且当用户按下特定按钮时它会自动移动到下一个 TextView 。在某些情况下我想接受 2 个输入,在某些情况下我想接受 3 个, 我怎样才能做到这一点
注意:我不想使用编辑文本,因为我的应用程序中已有可用的所有按钮。使用编辑文本将使软键盘出现,然后为了隐藏软键盘,我需要在每个类中使用隐藏代码行
最佳答案
您可以执行以下操作:
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];
}
});
}
View 的名称可以不同。重点是,只要您想更改 TextView 的数据,请始终使用 tvCurrentEditing
。并在需要时更新 tvCurrentEditing
。
关于java - 如何在多个 TextView 中输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49963404/