addviewandroid
1. android关于addView
对于每个editview进行setTag(Object id)操作。然后调用findViewsWithTag(Object id),就可以根据tag id就可以找到你需要的view了。
求采纳为满意回答。
2. Android7.0以后addview组件为什么会遮挡之前addview的组件
addView(第一个组件)后,调用一下第一个组件的requestLayout()方法试试呢,估计是第一个组件的宽高都是0,导致没有显示出来。
3. Android的addView问题
第一个,为啥不用listview实现。
第二个,已经有布局了,为了添加数据,为啥就要addview。很奇葩啊。
4. android studio识别不出来明明应该有的方法addView(),代码见图,求大神看看可能是什么原因造成的
出现这个问题是因为题主试图在一个类的初始化域(Initializing Field)中进行除赋值及声明变量以外的操作,而这种操作在 java 中是不允许的。通常一个 Java 公共类的结构如下:
publicclassFoo{
//这里叫做初始化域,用来声明一个类中的全局变量,此区域中只能进行
//赋值或声明新变量的操作,笼统一点说就是此区域中的代码必须是
//ImageViewimage=...;或者ImageViewimage;这种形式。
//题主的代码试图在此区域中调用LinearLayout的addView方法,却
//没有将其返回值赋予任何变量,所以会报错。
intvarOne=3;
privateintvarTwo=3;
publicStringvarThree="STR";
protectedStringvarFour=varThree.toString();
int[]varFive=newint[]{3,4,5,6};
//这个区块叫初始化块(InitializerBlock),此区域中的所有代码会被
//复制到类的构造函数(下方)当中,所以此区域中可以进行方法的调用而不
//进行赋值。此区域是可有可无的。
{
varFour.toString();
}
//这个区域叫做构造函数(Constructor),它是在该类对象被创建时第一个
//被调用的函数。构造函数的函数名需要与类名完全相同,且没有任何返回值,
//(即连void也不会返回)。此函数的主要目的是初始化在初始化域中所定
//义的各种全局变量。构造函数不是必需的,如果没有此函数Java会自动
//继承父类的构造函数,如果没有父类Java会自动添加一个空的构造函数。
publicFoo(inta,Stringb,LinearLayoutc){
this.varOne=a;
...
}
//以下就是类的各种常规方法的定义了。
privatevoidmethodOne(){
...
}
publicvoidmethodTwo(){
...
}
(){
...
}
}
由上可见,如果想调用一个变量的方法,而不将其返回值赋予新的变量的话,必须在类的初始化块、构造函数或者各种方法中进行操作,而不能在其他地方。事实上,Android 的 Activity 类虽然没有定义构造函数,但提供了 onCreate 方法让你进行变量的初始化以及对变量的各种操作。onCreate 方法会在一个新的 Activity 对象建立后立即执行,所以题主应该将 addView 方法的执行移动到 onCreate 方法中,如下:
{
privateint[]mImages=newint[]{
R.drawable.image01,
R.drawable.image02,
R.drawable.image03
};
privateintmCurrentImg=0;
;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mLinearLayout=(LinearLayout)findViewById(R.id.rest);
ImageViewimageView=newImageView(this);
mLinearLayout.addView(imageView);
}
}
5. android 在onclick回调中addview无效
有两个方案, 一个是将这些ImageView放到一个ViewGroup中,对ViewGroup进行onClick响应;另一个是对所有ImageView设置onClick回调,在回调中调用其他ImageView的performClick()。希望对你有所帮助!
6. android然后addView 其他xml布局里面的linearlayout
如果只是想显示其他布局里面的view,你可以通过隐藏其他view的形式来形式,当然addview也是可以的,java中本来就可以通过设置布局的形式来完成这样的功能。