Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在布局中标识视图?_Android_View_Android Relativelayout - Fatal编程技术网

Android 如何在布局中标识视图?

Android 如何在布局中标识视图?,android,view,android-relativelayout,Android,View,Android Relativelayout,我创建了一个ImageView ImageView\u视图; 视图组_根; public void CreateImageView(){ _root=(视图组)findViewById(R.id.root); 对于(int i=0;i

我创建了一个ImageView

ImageView\u视图;
视图组_根;
public void CreateImageView(){
_root=(视图组)findViewById(R.id.root);
对于(int i=0;i<5;i++){
_视图=新的图像视图(该视图);
RelativeLayout.LayoutParams LayoutParams=新的RelativeLayout.LayoutParams(100100);
layoutParams.leftMargin=150;
layoutParams.topMargin=50;
_view.setLayoutParams(layoutParams);
_视图.setId(i);
_root.addView(_视图);
}
}
当我单击id=3的imageview时,应该调用Toast。我怎样才能做到这一点

当我单击imageview id=3时,将调用Toast.maketext。我如何才能做到这一点

在循环中添加如下内容:

if(i == 3) {
    _view.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(getBaseContext(), "Message", Toast.LENGTH_LONG).show();
        }
    });
}

获取imageview的整数数组,如
\u view=new imageview[size]forloop
中初始化并将标记设置为imageview,然后在处理click事件时,获取标记,如
int k=(Integer)v.getTag()通过这种方式,您可以精确单击视图

ImageView _view;
      ViewGroup _root;
      public void CreateImageView()
      {
          _root = (ViewGroup)findViewById(R.id.root);
_view = new ImageView[5];
            for ( int i = 0; i< 5;i++)
            {
                _view[i] = new RadioButton(this);
                _view[i].setTag(i);
                RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(100, 100);
                layoutParams.leftMargin = 150;
                layoutParams.topMargin = 50;
                _view.setLayoutParams(layoutParams);
                _root.addView(_view[i]);
            }
      }

不确定你到底想实现什么。但你可以试试下面的代码片段

ImageView imgView = (ImageView) _root.findViewById(3);

imgView.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this, "Hello World from image 3",
        Toast.LENGTH_SHORT).show();

    }
});
 _view[j].setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub.
    int k = (Integer) v.getTag();

        if(k==3){
        Toast.makeText(this, "Your Message", Toast.LENGTH_LONG).show();
      }

    }
 }
ImageView imgView = (ImageView) _root.findViewById(3);

imgView.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this, "Hello World from image 3",
        Toast.LENGTH_SHORT).show();

    }
});