1

我想将包含在 LinearLayout 中的 EditText 数组插入到 ViewGroup 中,以便能够为所有 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 键盘而不是我的自定义键盘

4

1 回答 1

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.

}
  }
 }
于 2012-08-04T10:25:16.670 回答