目前,我在将 onclicklistener 实现为动态创建的 textview 时遇到了一些问题。我会更详细地解释这个问题。我需要做的是,当我单击活动中的按钮时,我需要创建文本视图,当我单击该文本视图时,它应该被删除。但我无法为每个文本视图设置 onclicklistener。因为,textviews 的设置 onclicklistener 是写在上述按钮(用于创建 textview 的按钮)的 onclick 函数中,所以当它退出按钮的 onclick 函数时,它的范围就会消失(我认为这是问题所在)。所以我尝试使用可见和不可见功能,这将事先创建文本视图并使它们不可见,并且仅在单击按钮(用于创建文本视图的按钮)时才可见。
这是我的代码这个按钮addphone将通过插入edittext phoneno中存在的值来动态创建textview
addphone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(phoneno.getText().toString().length() > 0 && counter < MAX)
{
addphoneno[counter] = phoneno.getText().toString();
phoneno.setText("");
final TextView mybox = new TextView(getApplicationContext());
mybox.setText(addphoneno[counter]);
mybox.setPadding(5, 5, 5, 5);
mybox.setBackgroundColor(Color.rgb(99, 99, 99));
contactbox[counter] = mybox;
contactbox[counter].setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
contactbox[counter].setId(100+counter);
contactbox[counter].setText(addphoneno[counter]+" "+"X");
contactbox[counter].setClickable(true);
contactbox[counter].setOnClickListener(this); //This doesn't work!!!!!
counter = counter+1;
}
}
});
但是上一行中的 setOnClickListener 不起作用
所以任何人都可以帮我解决这个问题。我希望你清楚我的问题。
谢谢你!