-1

私のアプリケーションでは、2 つの線形レイアウトを動的に生成し、それらを ScrollView に追加しています。

各 LinearLayout には Button と Edit Text があります。2 番目の LinearLayout の Button がクリックされると、1 番目の Linearlayout が無効になります。

コード:

package com.integrated.mpr;

import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;


public class Page1 extends Activity implements OnClickListener{

    int i;
    int[][] id = new int[pos][3];

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        int p =0;
        Log.d("value of ", ""+pos);
        for(int i =0;i<2;i++){
            for(int j =0;j<3;j++){
                id[i][j] = p;
                p++;
            }
        }

        //In each row 1st column is the id for button
        //2nd column id for edittext
        //3rd column id for Linearlayout

        ScrollView sv = new ScrollView(this);

        LinearLayout ll = new LinearLayout(this);
        ll.setOrientation(LinearLayout.VERTICAL);

        for(i=0;i<2;i++){

            LinearLayout llay = new LinearLayout(this);
            llay.setOrientation(LinearLayout.VERTICAL);
            llay.setId(id[i][2]);

            EditText et = new EditText(this);
            et.setId(id[i][1]);

            Button stop = new Button(this);
            stop.setText("Submit");
            stop.setId(id[i][0]);
            stop.setOnClickListener(this);

            llay.addView(et);
            llay.addView(stop);
            ll.addView(llay);

        }

        sv.addView(ll);
        this.setContentView(sv);

    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        if(v.getId()==id[1][0]){
            //when te second Button is clicked
            // now here disable the 1st linear layout
            //Can't think how to do it
        }

        }
}
4

2 に答える 2

0

レイアウトの参照をクラス メンバーとして保持し、OnClickメソッドで無効にするレイアウトvisibilityのレイアウトを設定します。View.GONE

于 2012-06-09T06:17:33.147 に答える
0

LinearLayout を取得し、View.GONE に設定します。

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

    if(v.getId()==id[1][0]){
        LinearLayout ll = (LinearLayout) findViewById(id);
        ll.setVisibility(View.GONE);
    }

    }
于 2012-06-09T06:18:13.323 に答える