0

我有一个问题,我使用 web 服务,我希望当我没有来自这个 json web 服务的任何东西来删除我在我的代码中制作的 relativelayout 时,这是我的布局,有 3relative 布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#F2F2F2" >



    <TextView
        android:id="@+txtview/prog_match"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/include1"
        android:layout_marginTop="58dp"
        android:background="#FF0000"
        android:gravity="center"
        android:text="@string/program"

        android:textSize="20dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+txtview/Last_Match"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+txtview/prog_match"
        android:background="#000000"
        android:gravity="center"
        android:text="@string/txt_last_match"
        android:textColor="#FFFFFF"
        android:textSize="20dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+txtview/Next_Match"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+txtview/Last_Match"
        android:layout_marginTop="104dp"
        android:background="#000000"
        android:gravity="center"
        android:text="@string/txt_next_match"
        android:textColor="#FFFFFF"
        android:textSize="20dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+txtviews/match"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+txtview/Last_Match"
        android:layout_marginLeft="14dp"
        android:layout_marginTop="21dp"
        android:textColor="#000000"
        android:textSize="18dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+txtviews/score"
        android:layout_width="wrap_content"
         android:textColor="#000000"
        android:layout_height="wrap_content"
        android:layout_above="@+txtviews/txt_date"
        android:layout_alignParentRight="true"
        android:layout_marginRight="48dp"
        android:textSize="18dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+txtviews/next_date"
         android:textColor="#000000"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+txtviews/txt_vs_match"
        android:layout_below="@+txtviews/txt_vs_next_match"
        android:layout_marginTop="22dp" />

    <TextView
        android:id="@+txtviews/next_match"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:textColor="#000000"
        android:layout_alignLeft="@+txtviews/txt_date"
        android:layout_below="@+txtview/Next_Match"
        android:layout_marginTop="22dp"
        android:textSize="20dp"
        android:textStyle="bold" />

    <TextView
        android:id="@+txtviews/next_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:textColor="#000000"
        android:layout_alignBottom="@+txtviews/txt_next_date"
        android:layout_alignLeft="@+txtviews/txt_time" />

    <TextView
        android:id="@+txtviews/txt_next_score"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+txtviews/txt_next_date"
        android:layout_alignLeft="@+txtviews/txt_score"
         android:textColor="#000000"
        android:textSize="18dp"
        android:textStyle="bold" />

    <TextView
         android:textColor="#000000"
        android:id="@+txtviews/txt_date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+txtviews/txt_vs_match"
        android:layout_below="@+txtviews/txt_vs_match"
        android:layout_marginTop="25dp" />

    <TextView
        android:id="@+txtviews/txt_time"
         android:textColor="#000000"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+txtviews/txt_date"
        android:layout_alignBottom="@+txtviews/txt_date"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

这是我的代码,有时当我有 get(0) 或 get(1) 应用程序崩溃时,我希望当我没有任何东西可以删除其中一个 relativeLayout 时:

private void prog() {

            programs = JSONParser.parseProgram(savedData);



                txt1.setText(programs.get(1).getTitle());
                txt2.setText(programs.get(0).getTitle());
                txt3.setText(programs.get(1).getScore());
                txt4.setText(programs.get(0).getScore());
                txt5.setText(programs.get(1).getMatchdate());
                txt6.setText(programs.get(0).getMatchdate());
                txt7.setText(programs.get(1).getTime());
                txt8.setText(programs.get(0).getTime());

这是我的 json 解析器:

public static MonProg ProgramParser(JSONObject jsonProgram) {

        Program program = new Program();



        try {


                program.setTitle(Html.fromHtml(jsonProgram.getString("title")).toString());
                program.setReport(jsonProgram.getString("report").toString());
                program.setScore(jsonProgram.getString("score").toString());
                program.setTime(jsonProgram.getString("start_time").toString());
                program.setMatchdate(jsonProgram.getString("date").toString());

            return program;
        } catch (JSONException e) {
            e.printStackTrace();
            return null;
        }
    }
4

1 回答 1

0

您可以使用以下方式删除带有视图的元素:

ViewGroup myViewGroup = (ViewGroup) viewToRemove.getParent();
myViewGroup.removeView(viewToRemove);

但我认为您不能以这种方式删除根视图。所以要么删除里面的所有东西,要么将RelativeLayout包装在另外1个容器中,给它id,然后使用上面的函数。viewToRemove 应该指向您的 RelativeLayout 的 id。

或者简单地说:

view.setVisiblility(View.GONE)
于 2013-05-16T09:37:32.927 回答