首页 > 解决方案 > 如何在多点触控界面中循环浏览字母?

问题描述

我正在为老式手机创建一个 android 应用程序,您可以在其中多次单击数字并在每次单击时循环浏览字母。然后,您使用专用按钮提交该字母。

到目前为止,我可以循环遍历给定数字的字母(即数字 2 通过 abc 循环),但无法弄清楚如何将字母提交到 textview 并继续按下下一个按钮。

我写的代码比较乱,感觉可以简化不少。我已经有一段时间没有被这样困住了。

我将包括我到目前为止的代码。任何帮助表示赞赏!

公共类 MainActivity 扩展 AppCompatActivity {

Button one, two, three, four, five, six, seven, eight, nine, zero;
Button commit;
TextView input;

int clicks = 0;

String finalInput = "";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    input = findViewById(R.id.input);
    commit = findViewById(R.id.commit);

    one = findViewById(R.id.one);
    two = findViewById(R.id.abc);
    three = findViewById(R.id.def);
    four = findViewById(R.id.ghi);
    five = findViewById(R.id.jkl);
    six = findViewById(R.id.mno);
    seven = findViewById(R.id.pqrs);
    eight = findViewById(R.id.tuv);
    nine = findViewById(R.id.wxyz);
    zero = findViewById(R.id.zero);

    two.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            clicks ++;
            if(clicks == 1){
                finalInput = input.getText().toString();
                if(finalInput.length() != 0){
                    finalInput = finalInput.substring(0, finalInput.length() -1);
                    input.setText(finalInput);
                }
                input.setText(finalInput + "a");
            }else if(clicks == 2){
                finalInput = input.getText().toString();
                finalInput = finalInput.substring(0, finalInput.length() -1);
                input.setText(finalInput);
                System.out.println(finalInput);
                input.setText(finalInput + "b");
            }else{
                finalInput = input.getText().toString();
                finalInput = finalInput.substring(0, finalInput.length() -1);
                input.setText(finalInput);
                input.setText(finalInput + "c");
                
                clicks = 0;
            }

        }
    });
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


    <TextView
        android:id="@+id/input"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.243" />

    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnCount="1"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_gravity="center"
            android:gravity="center">

            <Button
                android:id="@+id/one"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1"
                android:textSize="20dp" />

            <Button
                android:id="@+id/abc"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="start"
                android:text="2"
                android:textSize="20dp" />

            <Button
                android:id="@+id/def"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="start"
                android:text="3"
                android:textSize="20dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_gravity="center"
            android:gravity="center">

            <Button
                android:id="@+id/ghi"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="4"
                android:textSize="20dp" />

            <Button
                android:id="@+id/jkl"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="start"
                android:text="5"
                android:textSize="20dp" />

            <Button
                android:id="@+id/mno"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="start"
                android:text="6"
                android:textSize="20dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_gravity="center"
            android:gravity="center">

            <Button
                android:id="@+id/pqrs"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="7"
                android:textSize="20dp" />

            <Button
                android:id="@+id/tuv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="start"
                android:text="8"
                android:textSize="20dp" />

            <Button
                android:id="@+id/wxyz"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="start"
                android:text="9"
                android:textSize="20dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_gravity="center"
            android:gravity="center">

            <Button
                android:id="@+id/zero"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="@dimen/default_gap"
                android:text="0"
                android:textSize="20dp" />

            <Button
                android:id="@+id/commit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Commit" />
        </LinearLayout>

    </GridLayout>


</androidx.constraintlayout.widget.ConstraintLayout>[![enter image description here][2]][2]


  [1]: https://i.stack.imgur.com/cnagW.jpg
  [2]: https://i.stack.imgur.com/L99Ya.png

标签: javaandroidarraysandroid-studio

解决方案


推荐阅读