羊皮書アプリ(Android版)開発シリーズ(20)ActivityでListView,GridView内部ボタンのクリックイベントに応答
1373 ワード
業務が少し複雑なインタフェースは,ListView,GridViewなどのAdapterに内部ボタンがあり,内部ボタンのクリックイベントを扱う必要がある.一方、AdapterとActivityは分離されており(ActivityにAdapterを書かないでください)、この場合、ActivityでListView、GridViewの内部ボタンに応答するクリックイベントをコールバックで実現することができます.
Adapterについて今日鴻洋大神が源を開いて出てきたbaseAdapterを見て、とても良くて、多くの地方がみんなに学ぶ価値があって、みんなに見てみることをお勧めします.
Adapterでインタフェースを定義します(または外部で定義しても構いません)
private Callback editCallback;
public interface Callback {
public void click(View v);
}
Adapterの構築方法の作成
public StudentNormalDataInfoAdapter(Context context,Callback editCallback) {
super();
mInflater = LayoutInflater.from(context);
this.editCallback = editCallback;
}
AdapterのgetViewでクリックイベントを設定する
viewHolder.students_quality_delete_bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editCallback.click(v);
}
});
以上のステップを完了すると、Activityでボタンクリックイベントに応答できます。
public class HistoryActivity extends Activity implements Callback {
@Override
public void click(View v){
L.e(" ");
}
...
}
通常、クリックイベントにはいくつかのパラメータがありますが、この場合はインタフェースCallbackのclickに直接パラメータを追加すればいいです。また、他の需要もこのような方法を採用することができます。
Adapterについて今日鴻洋大神が源を開いて出てきたbaseAdapterを見て、とても良くて、多くの地方がみんなに学ぶ価値があって、みんなに見てみることをお勧めします.