私はAndroid開発にかなり慣れていないので、フラグメントクラスからアクティビティまでの複数のボタンクリックを処理しようとしています。フラグメントクラスにリスナーを作成し、アクティビティクラスにそのインターフェイスを実装させることで、ワンクリックを処理する方法を理解することができました。
myFragment.java
onResetGridListener mCallback;
// Container activity must implement this interface
public interface onResetGridListener
{
public void ResetGridClicked();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.tilemap, container, false);
Button button = (Button) view.findViewById(R.id.resetGrid_button);
// A simple OnClickListener for our button. You can see here how a Fragment can encapsulate
// logic and views to build out re-usable Activity components.
button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
mCallback.ResetGridClicked();
}
});
return view;
}
これは完全に機能しますが、同じフラグメントに別のボタンがあり、今後さらに多くのボタンがあるので、これをどのように処理するのか疑問に思いました。アクティビティは複数のインターフェース(ボタンごとに1つ)を実装できますか、それともこれを間違った方法で実行していますか?
お手数ですが情報ありがとうございます