嵌套版式崩溃

时间:2018-08-30 21:21:28

标签: java android

这是该应用程序的更新的Java和XML代码。现在,它不会崩溃。但是,相对布局还没有滚动,但是,当我使用LinearLayout但我希望它具有相对布局时,它会滚动。

//Here is the Main3Activity.java code

package com.example.me.myapp;

import android.annotation.TargetApi;
import android.graphics.drawable.GradientDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.InputType;
import android.view.View;
import android.widget.AbsoluteLayout;
import android.widget.Button;

import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.Scroller;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

@TargetApi(22)
public class Main3Activity extends AppCompatActivity{
TextView[] text;EditText[] editText, editText1;Button calculate;int     actual;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main3);

   RelativeLayout time = (RelativeLayout) findViewById(R.id.layout);

   time.canScrollVertically(50);


    float y = 0;int x=1;
    float y1 = -30;int x1=1;
    float y2 = -30;int x2=1;
    actual = MainActivity.getNo();
    text = new TextView[actual];editText = new EditText[actual];editText1 = new EditText[actual];
    for(int i=0; i<actual; i++){
        text[i] = new TextView(Main3Activity.this);
        text[i].setWidth(100);
        text[i].setText("Course" + x++);
        text[i].setX(0);text[i].setY(y +=100);
        time.addView(text[i]);

    }
    for(int i=0; i<actual; i++){
        editText[i] = new EditText(Main3Activity.this);
        editText[i].setWidth(100);
        editText[i].setX(175);editText[i].setY(y1 +=100);
        editText[i].setInputType(InputType.TYPE_CLASS_NUMBER);
        time.addView(editText[i]);

    }
    for(int i=0; i<actual; i++){
        editText1[i] = new EditText(Main3Activity.this);
        editText1[i].setWidth(100);
        editText1[i].setX(370);editText1[i].setY(y2 +=100);
        editText1[i].setInputType(InputType.TYPE_CLASS_NUMBER);
        time.addView(editText1[i]);

    }


    calculate = (Button)findViewById(R.id.button);

}

public void calculate(View view){

    String name =editText[0].getText().toString();
    double p=Double.parseDouble(name);

    String name1 =editText[1].getText().toString();
    double p1=Double.parseDouble(name1);

    String name2 =editText[2].getText().toString();
    double p2=Double.parseDouble(name2);

    String name3 =editText[3].getText().toString();
    double p3=Double.parseDouble(name3);

    String name4 =editText[4].getText().toString();
    double p4=Double.parseDouble(name4);




    String namee =editText1[0].getText().toString();
    double pp=Double.parseDouble(namee);

    String namee1 =editText1[1].getText().toString();
    double pp1=Double.parseDouble(namee1);

    String namee2 =editText1[2].getText().toString();
    double pp2=Double.parseDouble(namee2);

    String namee3 =editText1[3].getText().toString();
    double pp3=Double.parseDouble(namee3);

    String namee4 =editText1[4].getText().toString();
    double pp4=Double.parseDouble(namee4);

    double avail = (p*pp) + (p1*pp1) + (p2*pp2) + (p3*pp3) + (p4*pp4);
    double total = 5*(pp+pp1+pp2+pp3+pp4);

    double gpa  = avail/total;
    double gpa1 = 5*gpa;
    Toast.makeText(this, "Your GPA is: " + gpa1, Toast.LENGTH_SHORT).show();


}

}

用于使相对布局可滚动的应用程序XML代码: 请注意,仅当我使用线性布局时,此XML代码才会滚动,但我无法弄清楚为什么它不适用于相对布局。它就坐在那儿。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/re/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="wrap_content"
android:orientation="vertical"
tools:context=".Main3Activity">

<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:visibility="visible"
>

<RelativeLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:isScrollContainer="true"
android:overScrollMode="always"
android:scrollbars="vertical">

</RelativeLayout>

</ScrollView>

</RelativeLayout>

0 个答案:

没有答案