Android 如何获取特定视图的唯一id //正在膨胀行 customView1=充气机。充气(R.layout.single_row_materialdimension,null); 容器=(视图组)findViewById(R.id.container); container.addView(customView1,0,新的ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_父级,ViewGroup.LayoutParams.FILL_父级)); //从父对象获取子对象计数 int child=container.getChildCount(); container.setTag(child+1); for(int i=0;i
使用setId()和getId()方法Android 如何获取特定视图的唯一id //正在膨胀行 customView1=充气机。充气(R.layout.single_row_materialdimension,null); 容器=(视图组)findViewById(R.id.container); container.addView(customView1,0,新的ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_父级,ViewGroup.LayoutParams.FILL_父级)); //从父对象获取子对象计数 int child=container.getChildCount(); container.setTag(child+1); for(int i=0;i,android,Android,使用setId()和getId()方法 //inflating row customView1=inflater.inflate(R.layout.single_row_materialdimension, null); container = (ViewGroup) findViewById(R.id.container); container.addView(customView1, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParam
//inflating row
customView1=inflater.inflate(R.layout.single_row_materialdimension, null);
container = (ViewGroup) findViewById(R.id.container);
container.addView(customView1, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
//Getting child Count from parent inflated the child
int child = container.getChildCount();
container.setTag(child + 1);
for (int i = 0; i < child; i++) {
Log.e("ChildAt", "" + container.getChildAt(i));
View childView = container.getChildAt(i);
Log.e("childView ", "childView" + childView);
TextView tv1=(TextView)childView.findViewById(R.id.txt_parent_plus_id);
// setting onClickListner to inflated child
//i want to get unique id when i click on the inflated child**
tv1.setOnClickListener(handleOnClick(tv1));
}
//i want to get unique id when i click on the inflated child**
View.OnClickListener handleOnClick(final View view) {
return new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.e("Clicked", "Clicked" + container.getTag());
}
};
}
for(int i=0;i
问题不清楚,请详细解释。你的问题有点不清楚。你想干什么?获取已单击视图的Id?或者尝试获取任何资源视图的Id?我有一个包含textview1、Edittext1、textview2的父布局和包含textview3、EditText2的子布局,textview4…当我单击textview2时,我试图做的是,然后childlayout膨胀,现在textview4有了onclicklistner,当我单击textview4时,新的子项将膨胀到它下面…我想要上一个textview4子项和当前膨胀的textview4子项的唯一id获取空指针异常,第一个子项正在膨胀,但在第二个子项膨胀时,它在这行tv1.setId(i)上给了我空指针异常;tv1.setOnClickListener(handleOnClick(tv1));删除该tv1.setOnClickListener(handleOnClick(tv1));在代码上面粘贴,然后检查第一个子项,我得到的onclick id为0,但是当我膨胀第二个子项时,空指针来了,当我第一次单击父对象,然后一个id为“正在膨胀”的子对象是正确的,但当我第二次单击父对象以再次获取膨胀时,空指针出现,我根据您编辑了我的代码。
for (int i = 0; i < child; i++) {
Log.e("ChildAt", "" + container.getChildAt(i));
View childView = container.getChildAt(i);
TextView tv1=(TextView)childView.findViewById(R.id.txt_parent_plus_id);
tv1.setId(i);
}
tv1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id=tv1.getId();
Log.e("Clicked", "Clicked" + String.valueOf(id)));
}
});