2017-03-27 25 views
0

私は以下にリンクされた画像に示されているリストビューを持っています。私が欲しかったのは、「受注」ボタンをクリックした後、ボタンが隠され、もともと隠されていたトグルボタンが表示されることです。この動作は、クリックされた行にのみ影響し、リストビュー内の他の行には影響しません(他の行は依然として受注ボタンを表示します)。ボタンのonclicklistenerをどのように設定しますか?リストビュー内の特定の要素を非表示にするonclick

Listview in question

答えて

0

の1-まず、カスタム各行に対してをオブジェクトのリストを必要とします。 各オブジェクトには、異なる行のボタンの状態を制御するブール値が必要です。

例:

public class Order { 
    private String title; 
    private boolean isAccepted; 

    public Price(String title, boolean isAccepted) { 
     this.title = title; 
     this.isAccepted = isAccepted; 
    } 

    public String getTitle() { 
     return title; 
    } 

    public void setTitle(String title) { 
     this.title = title; 
    } 

    public boolean isAccepted() { 
     return isAccepted; 
    } 

    public void setIsAccepted(boolean isAccepted) { 
     this.isAccepted = isAccepted; 
    } 
} 

2 -は、Orderクラス(またはものは何でも持っている)のArrayListのを作成し、データを設定します。あなたのロジックは、 "if isAccepted == trueのようになります。 Show Order Button"このロジックを使用してデータを設定します。

リストビューでアイテムを一覧表示するようにアダプタを設定します。あなたのアダプターでは、ボタンにonclicklistenerを設定し、ボタンをクリックしたときに、ブール値をリストの正しい位置に設定します。次に、アダプタに通知/更新します。

さらにご質問がある場合は、this simple exampleにご連絡ください。あなたはボタンと対応するトグルボタンのための可視性のためonClickListenerを設定

あり
public View getView(int position, View convertView, ViewGroup parent) 

を提供アダプタを設定する必要がListViewコントロールのために

+0

v.getParent()とリンクされた例の内部で使用されるようにgetChildAt(int index)指定され何Iであります必要!ありがとう – ko5win

0

。特定のビューは、リストビューたとえば

convertView.searchViewById(int) 

によって参照される

、見てくださいhere

関連する問題