Java 使用gridlayout从列中获取变量和数字的总和

Java 使用gridlayout从列中获取变量和数字的总和,java,android,android-studio,Java,Android,Android Studio,这是我在这里的第一篇文章,我对编程非常陌生,我在安卓工作室开始了一个项目,但由于缺乏知识,我在一些事情上陷入了困境 我有三个不同的标签,我想计算第二个 所以我的问题是如何计算gridlayout中列中的数据 我的组件树如表2所示: RelativeLayout>Scrollview>Gridlayout 我在第2列和第3列中插入了一些文本编辑,我的目标是根据它们的输入进行计算,然后将它们作为结果插入选项卡底部 第2列仅包含数字,第3列包含变量 我想让用户在第三列输入的变量等于数字,例如A=20b

这是我在这里的第一篇文章,我对编程非常陌生,我在安卓工作室开始了一个项目,但由于缺乏知识,我在一些事情上陷入了困境

我有三个不同的标签,我想计算第二个

所以我的问题是如何计算gridlayout中列中的数据

我的组件树如表2所示:

RelativeLayout>Scrollview>Gridlayout

我在第2列和第3列中插入了一些文本编辑,我的目标是根据它们的输入进行计算,然后将它们作为结果插入选项卡底部

第2列仅包含数字,第3列包含变量

我想让用户在第三列输入的变量等于数字,例如A=20b=17.5等等

因此,在计算时,它会自动将变量更改为 数量相等

我该如何进行

Tab2 java类:

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的数量。对不起,我对这一切都很陌生呵呵