私はリストビュー用のカスタム配列アダプターを作成しました。それはプレーヤーの名前とスコアを持っている、私はまた、そのボタンがクリックされたときに、セルに追加ボタンがある私はポップアップ画面が表示されたい、ここでは、ユーザーがプレーヤーのスコアを追加することができますです。このポップアップウィンドウには、 "+ 1"、 "+2"、 "+10"の6つのボタンと終了ボタンがあります。完了したボタンをクリックすると、スコアが更新されます。リストビューのポップアップウィンドウ
私はcustomArraryAdapterクラスのadd button clickイベントを処理しているので、ここでもポップアップを作成する必要があります。私は検索し、これを成功させようとしました。 私はView = convertView
を持っているとviewHolder = holder
問題は、私はポップアップを作成するためのパラメータとして渡すことが何のでわからないです。私はこれまで試したどのような
。以下のコードはmyCustomArrayAdapterクラスです。私はまた、タッチイベントを処理することができないポップアップを読んだが、いくつかはそれができると言っている。ポップアップにはたくさんのボタンがあるので、これは素晴らしい解決策かもしれません。
のように見えます@Override CustomArrayAdapterクラスでパブリックビューgetViewメソッド(最終int型の位置、ビューconvertView、のViewGroupの親)メソッド//Handle add button click
holder.add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
addScores(convertView);
//list gets updated
notifyDataSetChanged();
}
});
であります
private void addScores(View v){ PopupWindow pw; LayoutInflater inflater = (LayoutInflater)v.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.weight_popup, (ViewGroup)v.findViewById(R.id.linlay_weight_popup)); pw = new PopupWindow(layout, ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, true); pw.setBackgroundDrawable(new BitmapDrawable()); pw.setOutsideTouchable(true); pw.showAsDropDown(btnSelectWeight); }
アダプターからコンテキストを渡すことができます。そこからLayoutInflator.from(コンテキスト)メソッドを使用してLayoutInflatorオブジェクトを作成できます。 – Krish
コードを含むソリューションを提供できますか?私は今コンテキストを渡そうとしましたが、まだgetSystemServiceに赤いテキストが表示されていますが、ポップアップウィンドウでtouch/clickイベントを処理できないということは本当ですか? –
このリンクをチェックするhttps://androidresearch.wordpress.com/2012/05/06/how-to-create-popups-in-android/ – Krish