Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android单线文本视图(用于计算器应用程序)从按钮获取输入,这是一个问题吗?_Java_Android_Xml_Calculator - Fatal编程技术网

Java Android单线文本视图(用于计算器应用程序)从按钮获取输入,这是一个问题吗?

Java Android单线文本视图(用于计算器应用程序)从按钮获取输入,这是一个问题吗?,java,android,xml,calculator,Java,Android,Xml,Calculator,我是一个初学者,试图在Android Studio中制作一个计算器应用程序,该应用程序从按钮获取输入。事实证明,与仅使用EditText相比,这要困难得多,但到目前为止,这是一次很好的学习经历 我正在使用textView处理应用程序的显示部分。我将其设置为,当单击按钮时,按钮的值将附加到textView。这是一个计算器,所以我希望textView显示在一行上,并在textView的宽度已满时水平移动以进行新的输入 我从另一个人的帖子中找到了一种方法,该方法通过在XML中设置以下内容来实现:

我是一个初学者,试图在Android Studio中制作一个计算器应用程序,该应用程序从按钮获取输入。事实证明,与仅使用EditText相比,这要困难得多,但到目前为止,这是一次很好的学习经历

我正在使用textView处理应用程序的显示部分。我将其设置为,当单击按钮时,按钮的值将附加到textView。这是一个计算器,所以我希望textView显示在一行上,并在textView的宽度已满时水平移动以进行新的输入

我从另一个人的帖子中找到了一种方法,该方法通过在XML中设置以下内容来实现:

    android:inputType="text"
    android:maxLines="1"
当我这么做的时候,它确实做了我想要的,但是我得到了一个IDE警告,上面说:

警告:属性
android:inputType
不应与
一起使用:是否将元素类型更改为

如果没有android:inputType=“text”代码,textView似乎无法正常滚动,我不想使用EditText。这有什么好担心的吗?有更好的方法吗


谢谢您的帮助。

请勿在文本视图中使用inputType

从该链接-

我的理解是,您希望文本动态滚动,即按下按钮

您可以这样做:

XML

<HorizontalScrollView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/hzw"
    android:fillViewport="true"
    android:layout_gravity="end">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/tv1"
    android:maxLines="1"
    android:textSize="20dp"
    android:textStyle="bold"
    android:gravity="end"/>

</HorizontalScrollView>

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/b"
    android:text="Add Text"/>

为什么
TextView
会有一个inputType你不需要inputType来查看TextView,你可以用它来编辑文本。。。例如,如果你想编辑文本输入电话号码,你可以将inputType设置为“phone”,这将限制用户输入许可证。也许我应该更好地解释我想做什么。如果打开计算器并键入足够的数字和运算符,您将看到顶部显示输入历史的行在输入更多数字时向左滚动。这就是我试图让我的文本视图做到的。不过,我不在乎左右导航的能力。我假设您已经在textview上尝试了
android:gravity=“right”
。如果这不符合您的要求,请使用图形/图表更新您的问题,以显示您正试图实现的目标。您正在寻找的行为也可能需要自定义视图。相关:这是一个有和没有inputType=“text”的视频:首先在XML中使用inputType运行程序。这就是我想要的工作方式。第二部分展示了删除inputType后它是如何错误运行的。我还没有尝试过上面发布的解决方案,所以我将在下一步尝试。我正在使用constraintLayout,我尝试过使用此代码,但它似乎不起作用。我可能做错了什么,但文本只是不断离开屏幕而不滚动。如果有帮助的话,我可以上传一段代码运行的视频。我计划稍后添加显示实际计算的第二个文本视图。我只需要弄清楚如何让textView在我上面发布的视频的第一部分中动态滚动。谢谢你的帮助!下面是我用于水平滚动和文本视图的XML代码的粘贴箱,如果有帮助的话:更新了答案有一个外观我忽略了一件事,我刚刚意识到水平滚动视图可以手动滚动。使用Java代码hzw.fullScroll(View.FOCUS_RIGHT);工作几乎完美。现在唯一的问题是,视图似乎只会滚动到我上次输入的数字之前的数字。例如,如果我先输入数字2,然后输入数字1,则当我输入数字1时,视图将滚动显示数字2。这几乎像是视图稍微离开屏幕,但在布局视图中看起来不错。这几乎就像一个填充/边距问题。。。不确定。android:layout_margin=“10dp”在水平滚动视图中。那会解决你的问题。
    tv1 = (TextView)findViewById(R.id.tv1);
    tv1.setText("123+123");
    hzw = (HorizontalScrollView)findViewById(R.id.hzw);
    b = (Button)findViewById(R.id.b);

    b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            tv1.append("d+1+cff");

            hzw.post(new Runnable() {
                @Override
                public void run() {
                    hzw.fullScroll(View.FOCUS_RIGHT);
                }
            });
        }
    });