1

すべてのEditTextに同じsetonclicklistenerを設定できるように、LinearLayoutに含まれるEditTextの配列をViewGroupに挿入したいと思います。どうすれば続行できますか?

これは私の試みのコードです:

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 に答える