2

(ImageButton)icon私のアプリには、再生するオーディオ ファイルのとを示す行があり(textView)title、ImageButton に setOnClickListener を使用して、ファイルを再生するプロセスを開始します。(textView)titleまた、同じプロセスを開始するためのクリック可能なアイテムとして使用したいと思います。

両方の setOnClickListeners ですべての機能を単純に複製することもできますが、それは最も効率的な方法ではないようです。

今、私は新しいので、そのようなことはありますか

ImageButton.setOnClickListener() ||  textView.setOnClickListener() {

.

.

.

}

基本的に、ImageButton がクリックされた場合、または textView がクリックされた場合は、この手順を実行します。

上記の構文が正しくないことはわかっていますが、何をしたいのかがわかります

4

3 に答える 3

3

classこれらの要素ImageButtonを両方備えた を用意し、をtextView実装しOnClickListenerます。これらの両方の要素のクリック実装を持つOnClickListenerメソッドを持つインターフェイスです。その後、とonClick(View v)を使用できます。imageButton.setOnClickListener(this)textView.setOnClickListener(this)

コード例:

public MyClass extends Activity implements  OnClickListener {

ImageButton imageButton;
TextView textView;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    imageButton = (ImageButton) findViewById(R.id.btn);
    textView = (TextView) findViewById(R.id.txt);

    imageButton.setOnClickListener(this);
    textView.setOnClickListener(this);
    }

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    int viewId = v.getId() ;
    if(viewId == R.id.btn || viewId == R.id.txt){
        //common implementation of click event
    }
}
}

この説明がお役に立てば幸いです。

于 2012-06-25T06:52:58.110 に答える
1
    ImageButton iv=(ImageButton)findViewById(R.id.imagebutton1);
    TextView tv=(TextView)findViewById(R.id.textview1);
    iv.setOnClickListener(OnClick);
    tv.setOnClickListener(OnClick);

これをOnCreate()メソッドに追加し、その後、以下に示すようにこのメソッドを追加します

   private OnClickListener OnClick=new OnClickListener(){
                    @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            switch(v.getId()){
                         case R.id.imagebutton1:{
                             // do here code what u want on imagebutton click
                                break;}
                         case R.id.textview1:{
                            // do here code what u want on textview click
                               break;}

                }
            }
        }

     };
于 2012-06-25T07:04:08.087 に答える
0

imagebutton と textview の両方をレイアウトに配置し、ID を付与します。次に、レイアウト用に onClickListener を実装します。この方法により、コードを 1 回だけ記述する必要があります。

于 2012-06-25T07:00:53.133 に答える