0

Android:visibility="invisible" 属性を持ついくつかのビュー、テキスト ビュー、およびボタンがあります。私の目標は、これらの「見えない」ウィジェットの上にあるボタンをクリックして、これらのウィジェットが見えるようにすることです。「VisibilityActivity.java」という別の Java クラスを作成し、次の方法を試しました。しかし、何らかの理由でアプリを実行すると、ボタンは何もしません。何が欠けているのかわかりません。

コードは次のとおりです。

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class VisibilityActivity extends Activity {

    private View mVictim;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.new_property3);

        mVictim = findViewById(R.id.horizontalRule1);
        mVictim = findViewById(R.id.TextView03);
        mVictim = findViewById(R.id.horizontalRule2);

        Button submitRating = (Button) findViewById(R.id.submitRatingButton);

        submitRating.setOnClickListener(mVisibleListener);

    }

    OnClickListener mVisibleListener = new OnClickListener() {
        public void onClick(View v) {
            mVictim.setVisibility(View.INVISIBLE);
        }
    };

}

xml は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/custom_background"
android:isScrollContainer="true"
android:orientation="vertical"
android:paddingTop="10dp" >

    <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:layout_gravity="center"
    android:text="@string/ratingsInfo"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/black1" />

    <View 
    android:layout_width="fill_parent" 
    android:layout_height="2dp"
    android:background="@color/black1"
    android:layout_marginLeft="2dp"
    android:layout_marginRight="2dp"
    android:layout_marginBottom="5dp" />

    <TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:text="@string/yourRating"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="@color/black1" />

    <RatingBar
    android:id="@+id/ratingBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginBottom="10dp" />

    <Button
    android:id="@+id/submitRatingButton"
    android:layout_width="275dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginBottom="10dp"
    android:background="@drawable/custom_button"
    android:text="@string/submitRating"
    android:textColor="@color/black1" />


    <View 
    android:id="@+id/horizontalRule1"
    android:layout_width="fill_parent" 
    android:layout_height="2dp"
    android:background="@color/black1"
    android:layout_marginLeft="2dp"
    android:layout_marginRight="2dp"
    android:layout_marginBottom="5dp"
    android:visibility="invisible" />

    <TextView
    android:id="@+id/TextView03"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:layout_gravity="center"
    android:text="@string/summaryInfo"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/black1"
    android:visibility="invisible" />

    <View 
    android:id="@+id/horizontalRule2"
    android:layout_width="fill_parent" 
    android:layout_height="2dp"
    android:background="@color/black1"
    android:layout_marginLeft="2dp"
    android:layout_marginRight="2dp"
    android:layout_marginBottom="5dp"
    android:visibility="invisible" />

    <TextView
    android:id="@+id/TextView01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:text="@string/ourRating"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="@color/black1"
    android:visibility="invisible" />

    <RatingBar
    android:id="@+id/ratingBar2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:stepSize=".01"
    android:layout_marginBottom="10dp"
    android:visibility="invisible" />

    <TextView
    android:id="@+id/TextView02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:text="@string/overallRating"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="@color/black1"
    android:visibility="invisible" />

    <RatingBar
    android:id="@+id/ratingBar3"
    android:color="@color/black1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:stepSize=".01"
    android:layout_marginBottom="40dp"
    android:visibility="invisible" />

    <Button
    android:id="@+id/saveContinueButton3"
    android:layout_width="275dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginBottom="15dp"
    android:background="@drawable/custom_button"
    android:text="@string/saveContinue"
    android:textColor="@color/black1"
    android:onClick="onSaveAndContinue3Clicked"
    android:visibility="invisible" />

</LinearLayout>
</ScrollView>

ありがとう。助けていただければ幸いです。

4

4 に答える 4

1

user936414の回答を更新しています。

OnClickListener mVisibleListener = new OnClickListener() {
    public void onClick(View v) {

        if( mText.getVisibility() == View.INVISIBLE )
            mText.setVisibility(View.VISIBLE);
        else
            mText.setVisibility(View.INVISIBLE);

        if( mRule1.getVisibility() == View.INVISIBLE )
            mRule1.setVisibility(View.VISIBLE);
        else
            mRule1.setVisibility(View.INVISIBLE);

        if( mRule2.getVisibility() == View.INVISIBLE )
            mRule2.setVisibility(View.VISIBLE);
        else
            mRule2.setVisibility(View.INVISIBLE);
    }
};

また、View.GONE を試してみることもできます。

于 2012-04-17T07:02:36.280 に答える
0

試す

public class VisibilityActivity extends Activity {

private TextView mText;
private View mRule1, mRule2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.new_property3);

    mText= (TextView)findViewById(R.id.horizontalRule1);
    mRule1 = findViewById(R.id.TextView03);
    mRule2 = findViewById(R.id.horizontalRule2);

    Button submitRating = (Button) findViewById(R.id.submitRatingButton);

    submitRating.setOnClickListener(mVisibleListener);

}

OnClickListener mVisibleListener = new OnClickListener() {
    public void onClick(View v) {
        mText.setVisibility(View.VISIBLE);
        mRule1.setVisibility(View.VISIBLE);
        mRule2.setVisibility(View.VISIBLE);
    }
};

}
于 2012-04-17T06:50:24.863 に答える
0
findViewById(R.id.ratingBar3).setVisibility(View.VISIBLE);
findViewById(R.id.saveContinueButton3).setVisibility(View.VISIBLE);

あなたはそれを非表示にしましたビューを再び非表示にしました..上記のコードを試してください

于 2012-04-17T06:47:31.713 に答える
-1
Button submitRating = (Button) findViewById(R.id.submitRatingButton);
        submitRating.setOnClickListener(new View.onClickListener)
        {
             @Override
         public void onClick(View v) 
            {
                              //Insert your code here
                    }
        }
于 2012-09-03T09:30:07.040 に答える