我想在ViewGroup中插入包含在LinearLayout中的EditText数组,以便能够为所有EditText设置相同的setonclicklistener。我该怎么办?
这是我尝试的代码:
public class Main extends Activity implements OnClickListener {
ViewGroup group;;
View v1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
group = (ViewGroup)findViewById(R.id.xsubLayout);
for (int i = 0, count = group.getChildCount(); i < count; ++i) {
v1 = group.getChildAt(i);
if (v1 instanceof EditText) {
((EditText)v1).setOnClickListener(this);
}
}
和OnClick方法:
@Override
public void onClick(View v) {
if(v == v1 ){
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v1.getWindowToken(), 0);
enableKeyboard();
}
}
但这种方式不起作用。在实践中继续看Android键盘而不是我的自定义键盘
答案 0 :(得分:0)
您必须为您的类实现onClickListener()。 例如像这样。
public class Main extends Activity implements OnClickListener {
EditText etText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
etText = (EditText)findViewById(R.id.yourEditTextId);
btnRemove.setOnClickListener(this)
}
public void onClick(View view) {
// TODO Auto-generated method stub
// Here you can perform same task for all the EditText.
}
}
}