如何在多个textview中获取输入?

时间:2018-04-22 07:03:58

标签: java android

我是发展新手。我正在创建一个具有高级功能的Android计算器应用程序。我正在使用文本视图来获取和显示输入/输出。我的问题是,如何在多个Textview中获取多个输入。

例如,我有3个文本视图,当用户在第一个文本视图中输入第一个输入时(默认情况下),当用户按下特定按钮时,它会自动移动到下一个文本视图。在某些情况下,我想要2输入,在某些情况下我想要3, 我怎样才能实现这个目标

注意:我不想使用编辑文本,因为我的应用程序中已有的所有按钮。使用编辑文本将使软键盘出现,然后为了隐藏软键盘,我需要在每个类中使用隐藏代码行< / p>

1 个答案:

答案 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