Java 使用gridlayout从列中获取变量和数字的总和
这是我在这里的第一篇文章,我对编程非常陌生,我在安卓工作室开始了一个项目,但由于缺乏知识,我在一些事情上陷入了困境 我有三个不同的标签,我想计算第二个 所以我的问题是如何计算gridlayout中列中的数据 我的组件树如表2所示: RelativeLayout>Scrollview>Gridlayout 我在第2列和第3列中插入了一些文本编辑,我的目标是根据它们的输入进行计算,然后将它们作为结果插入选项卡底部 第2列仅包含数字,第3列包含变量 我想让用户在第三列输入的变量等于数字,例如A=20b=17.5等等 因此,在计算时,它会自动将变量更改为 数量相等 我该如何进行 Tab2 java类:Java 使用gridlayout从列中获取变量和数字的总和,java,android,android-studio,Java,Android,Android Studio,这是我在这里的第一篇文章,我对编程非常陌生,我在安卓工作室开始了一个项目,但由于缺乏知识,我在一些事情上陷入了困境 我有三个不同的标签,我想计算第二个 所以我的问题是如何计算gridlayout中列中的数据 我的组件树如表2所示: RelativeLayout>Scrollview>Gridlayout 我在第2列和第3列中插入了一些文本编辑,我的目标是根据它们的输入进行计算,然后将它们作为结果插入选项卡底部 第2列仅包含数字,第3列包含变量 我想让用户在第三列输入的变量等于数字,例如A=20b
package com.example.minmerit;
/**
* Created by lukin on 2017-06-14.
*/
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Tab2Betyg extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab2betyg, container, false);
return rootView;
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="450dp"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.minmerit.MainActivity$PlaceholderFragment">
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="600dp"
android:layout_below="@id/textview">
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/POÄNG"
android:layout_width="67dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_row="1"
android:ems="10"
android:fontFamily="monospace"
android:inputType="number"
android:text="100"
android:textAlignment="center"
android:textColor="@android:color/black" />
Tab2布局xml:
package com.example.minmerit;
/**
* Created by lukin on 2017-06-14.
*/
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Tab2Betyg extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab2betyg, container, false);
return rootView;
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="450dp"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.minmerit.MainActivity$PlaceholderFragment">
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="600dp"
android:layout_below="@id/textview">
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/POÄNG"
android:layout_width="67dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_row="1"
android:ems="10"
android:fontFamily="monospace"
android:inputType="number"
android:text="100"
android:textAlignment="center"
android:textColor="@android:color/black" />
首先,给编辑文本一些正确的ID,如
<EditText
android:id="@+id/number_1"
...
首先,它无法解析findViewById和changeListeners方法如何获得gridlayout中列2和列3的总和?gridlayout仅用于内部视图的视觉排列。要对“column”求和(确切地说:对来自列的editText的值求和),必须给它们ID。此外,YoutGridLayout缺少一些属性,比如columnCount。看这里,也许这会有帮助:请看看这个表格布局,也许这对你会更好:好吧,这解释了很多哈哈,我终于设法配置了gridlayout,所以我现在不太乐意尝试更改它。为什么我要数一数?我已经插入了layoutrow/layoutcolumn,如果这是你的意思的话。我环顾四周已经有一段时间了,(如果我错了,请告诉我)要想做我想做的事情,最简单的方法就是创建一个SQLiteDatabase。我会根据编辑文本所在的列为其设置适当的ID。谢谢如果您使用GridLayout进行了适当的布局,那么就没问题了——总是有很多方法可以满足您的需要。如果您想永久保存数据(而不是在应用程序关闭后丢失数据),则必须使用SQLiteDatabase。但是,您还应该检查如何以编程方式填充GridLayout(因为您不知道数据库中将有多少行)。这就是你需要的吗?按程序填充GridLayout是什么意思?我需要数据库中与gridlayout中一样多的行,这取决于EditText的数量。对不起,我对这一切都很陌生呵呵