【问题标题】:Why the Activity does not change the state of view when buttons are clicked?为什么单击按钮时 Activity 不会更改视图状态?
【发布时间】:2014-03-10 14:46:09
【问题描述】:

我在 LinearLayout 中有 18 个 ScrollView,当单击按钮时添加一些整数时,它们会改变它们的可见性状态。 问题是我的代码中的 if 语句仅在我只有 4-5 个 ScrollView 时才有效。 但是当我所有的布局都到位时,它什么也没做。 我做错了什么?

activity_main.xml

    <RelativeLayout
    android:id="@+id/question_1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/question_1"
    android:visibility="gone" >

    <Button
        android:id="@+id/next_btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_below="@+id/b1_btn"
        android:layout_marginTop="20dp"
        android:background="@drawable/next_button" />

    <Button
        android:id="@+id/b1_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_below="@+id/a1_btn"
        android:layout_marginTop="20dp"
        android:background="@drawable/choix_button" />

    <Button
        android:id="@+id/a1_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="10dp"
        android:layout_marginTop="55dp"
        android:background="@drawable/choix_button" />
    </RelativeLayout>

    <RelativeLayout
    android:id="@+id/question_2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/question_2"
    android:visibility="gone" >

    <Button
        android:id="@+id/next_btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_below="@+id/b2_btn"
        android:layout_marginTop="20dp"
        android:background="@drawable/next_button" />

    <Button
        android:id="@+id/b2_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_below="@+id/a2_btn"
        android:layout_marginTop="20dp"
        android:background="@drawable/choix_button" />

    <Button
        android:id="@+id/a2_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="10dp"
        android:layout_marginTop="55dp"
        android:background="@drawable/choix_button" />
    </RelativeLayout>

    <RelativeLayout
    android:id="@+id/question_3"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/question_3"
    android:visibility="gone" >

    <Button
        android:id="@+id/next_btn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_below="@+id/b3_btn"
        android:layout_marginTop="20dp"
        android:background="@drawable/next_button" />

    <Button
        android:id="@+id/b3_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_below="@+id/a3_btn"
        android:layout_marginTop="20dp"
        android:background="@drawable/choix_button" />

    <Button
        android:id="@+id/a3_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="10dp"
        android:layout_marginTop="55dp"
        android:background="@drawable/choix_button" />
    </RelativeLayout>

    <RelativeLayout
    android:id="@+id/question_4"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/question_4"
    android:visibility="gone" >

    <Button
        android:id="@+id/result_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_below="@+id/b4_btn"
        android:layout_marginTop="20dp"
        android:background="@drawable/next_button" />

    <Button
        android:id="@+id/b4_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_below="@+id/a4_btn"
        android:layout_marginTop="20dp"
        android:background="@drawable/choix_button" />

    <Button
        android:id="@+id/a4_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="10dp"
        android:layout_marginTop="55dp"
        android:background="@drawable/choix_button" />

    <Button
        android:id="@+id/back_btn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/b4_btn"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="20dp"
        android:background="@drawable/avant_button" />
    </RelativeLayout>



    <ScrollView
        android:id="@+id/eerner_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/eerner_image"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/eerner"
            android:scaleType="fitXY"
            android:src="@drawable/eerner"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/frameinfo"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/infoscreen"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/infoscreen"
            android:scaleType="fitXY"
            android:src="@drawable/info"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/eerney_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/eerney"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/eerney"
            android:scaleType="fitXY"
            android:src="@drawable/eerney"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/einteg_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/einteg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/einteg"
            android:scaleType="fitXY"
            android:src="@drawable/einteg"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/einter_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/einter"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/einter"
            android:scaleType="fitXY"
            android:src="@drawable/einter"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/ekommr_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/ekommr"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/ekommr"
            android:scaleType="fitXY"
            android:src="@drawable/ekommr"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/ekommy_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/ekommy"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/ekommy"
            android:scaleType="fitXY"
            android:src="@drawable/ekommy"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/ekompb_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/ekompb"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/ekompb"
            android:scaleType="fitXY"
            android:src="@drawable/ekompb"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/ekompg_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/ekompg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/ekompg"
            android:scaleType="fitXY"
            android:src="@drawable/ekompg"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/ekoorb_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/ekoorb"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/ekoorb"
            android:scaleType="fitXY"
            android:src="@drawable/ekoorb"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/ekoory_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/ekoory"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/ekoory"
            android:scaleType="fitXY"
            android:src="@drawable/ekoory"
            android:visibility="visible" />
    </ScrollView>

    <ScrollView
        android:id="@+id/epragb_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/epragb"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/epragb"
            android:scaleType="fitXY"
            android:src="@drawable/epragb"
            android:visibility="visible" />
    </ScrollView>

     <ScrollView
        android:id="@+id/epragy_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/epragy"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/epragy"
            android:scaleType="fitXY"
            android:src="@drawable/epragy"
            android:visibility="visible" />
    </ScrollView>

     <ScrollView
        android:id="@+id/eprufb_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/eprufb"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/eprufb"
            android:scaleType="fitXY"
            android:src="@drawable/eprufb"
            android:visibility="visible" />
    </ScrollView>

     <ScrollView
        android:id="@+id/eprufg_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/eprufg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/eprufg"
            android:scaleType="fitXY"
            android:src="@drawable/eprufg"
            android:visibility="visible" />
    </ScrollView>

     <ScrollView
        android:id="@+id/estabg_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/estabg"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/estabg"
            android:scaleType="fitXY"
            android:src="@drawable/estabg"
            android:visibility="visible" />
    </ScrollView>

     <ScrollView
        android:id="@+id/estabr_scroll"
        android:layout_width="550dp"
        android:layout_height="650dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="false"
        android:layout_marginTop="80dp"
        android:scrollbarStyle="insideOverlay"
        android:scrollbars="vertical"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/estabr"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginTop="0dp"
            android:contentDescription="@string/estabr"
            android:scaleType="fitXY"
            android:src="@drawable/estabr"
            android:visibility="visible" />
    </ScrollView>



    </LinearLayout>  

ActivityMain.java

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

    public class MainActivity extends Activity {

    int a1_val = 0;
    int b1_val = 0;
    int a2_val = 0;
    int b2_val = 0;
    int a3_val = 0;
    int b3_val = 0;
    int a4_val = 0;
    int b4_val = 0;
    int eerner = 4844;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Buttons for start screen
        ImageButton clicks =(ImageButton)findViewById(R.id.clicks);
        ImageButton new_test_btn =(ImageButton)findViewById(R.id.new_test_btn);
    ImageButton view_profile_btn =(ImageButton)findViewById(R.id.view_profile_btn);
        ImageButton home_btn =(ImageButton)findViewById(R.id.home_btn);
        ImageButton info_btn =(ImageButton)findViewById(R.id.info_btn);

        //Buttons for question_1
        Button a1_btn =(Button)findViewById(R.id.a1_btn);
        Button b1_btn =(Button)findViewById(R.id.b1_btn);
        Button next_btn1 =(Button)findViewById(R.id.next_btn1);

        //Buttons for question_2
        Button a2_btn =(Button)findViewById(R.id.a2_btn);
        Button b2_btn =(Button)findViewById(R.id.b2_btn);
        Button next_btn2 =(Button)findViewById(R.id.next_btn2);
        Button back_btn1 =(Button)findViewById(R.id.back_btn1);

        //Buttons for question_3
        Button a3_btn =(Button)findViewById(R.id.a3_btn);
        Button b3_btn =(Button)findViewById(R.id.b3_btn);
        Button next_btn3 =(Button)findViewById(R.id.next_btn3);
        Button back_btn2 =(Button)findViewById(R.id.back_btn2);

        //Buttons for question_4
        Button a4_btn =(Button)findViewById(R.id.a4_btn);
        Button b4_btn =(Button)findViewById(R.id.b4_btn);
        Button result_btn =(Button)findViewById(R.id.result_btn);
        Button back_btn3 =(Button)findViewById(R.id.back_btn3);



        // a1 click
        a1_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {a1_val = 1;};});

        // b1 click
        b1_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {b1_val = 5;};});

        //a2 click
        a2_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {a2_val = 22;};});

        //b2 click
        b2_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {b2_val = 66;};});

        //a3 click
        a3_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {a3_val = 333;};});

        //b3 click
        b3_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {b3_val = 777;};});

        //a4 click
        a4_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {a4_val = 4444;};});

        //b4 click
        b4_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {b4_val = 8888;};});

        //result click
        result_btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if  (a1_val + b2_val + a3_val + a4_val == eerner);
            ScrollView eerner_scroll = (ScrollView)findViewById(R.id.eerner_scroll);
            eerner_scroll.setVisibility(ScrollView.VISIBLE);

        };});

【问题讨论】:

    标签: android eclipse onclick android-activity


    【解决方案1】:

    有点不清楚你在问什么,但假设是 if 这给你带来了麻烦:

    if  (a1_val + b2_val + a3_val + a4_val == eerner);
    

    ...您应该摆脱; 并将条件代码放在{} 块中。就像现在一样,如果条件评估为真,则执行一个空语句块,然后代码继续运行 ScrollView eerner_scroll = ...,而不管条件 if 中的内容是什么。

    【讨论】:

    • 非常感谢!这解决了我的问题!我很感激!
    猜你喜欢
    • 1970-01-01
    • 2016-07-11
    • 2020-08-20
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    相关资源
    最近更新 更多