2016-11-24 5 views
0

私はアンドロイドプログラミングの初心者です。レイアウトのボタンを別のレイアウトで参照することに問題があります。 説明: レイアウトにいくつかのタスクを実行するボタンがあります。そのタスクのコードはレイアウトのそれぞれに書かれています。 Javaファイル。今、私は前のものと同じ機能を提供し、同じコードも含んでいる別のレイアウトのボタンを持っています。だから、コードをもう一度書くのではなく、最初のレイアウトから参照できる方法はありますか?事前に おかげで...別のレイアウトのボタンを参照する

+0

public class MyButtonListener implements View.OnClickLister { private Context mContext; public MyButtonListener(Context content) { mContext = context; } @Override Public void onClick(View view) { // Do your on click handling here, including checking the view types } } 

次に実装するための、それは同じくらい簡単です。 –

+0

さらに確認するコードを入力してください。両方のレイアウトがアクティビティーまたはフラグメントであることも知っておく必要があります – Chandrahasan

答えて

0

は、両方のボタン今

class MyListener implements View.OnclickListenr{ 

public void onClick(View view){ 
    // do something here 
} 
} 

のための単一のView.OnclickListenrを使用して、両方のあなたのボタンにこのリスナーを登録します。

+0

'View'パラメーターがありません。 –

0

Nishantが言ったように、あなたがすることはView.OnClickListenerを拡張して、独自の実装を作成することです。 Contextオブジェクト、リポジトリ、または注入可能なものを通過するなど、必要なパラメータに応じて、コンストラクタが必要な場合があります。正しい方法は、(事業を)一つの機能を持つように、両方のボタンのクリックイベントのためにアクセス可能であります

Button buttonView = (Button) findViewById(R.id.my_button); 
buttonView.setOnClickListener(new MyButtonListener(getActivity())); 
関連する問題