2011-07-05 3 views
0

私がやりたいことは「シンプル」です。リストビュー内のアイテムをクリックすると何か起こります。アイテムをもう一度クリックし、クリックしたアイテムと同じアイテムか、別のアイテムをクリックするかどうかによって異なります。みんな助けてくれますか?アイテムが最後のクリック/リストビューと同じであるかどうかを確認します

​​

私の例は、アイテムをクリックすると詳細が表示され、同じアイテムをクリックすると詳細が消えます。

答えて

0

クリックした最後の項目のidプレースホルダを保持:

クラスへのグローバル

を:

int lastID = -1; 

その後:

public OnItemClickListener listener = new OnItemClickListener() { 
    int i = 1; 
    int p; 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, 
      long id){ 
     loaddetails(pf, position); 
     i++; 
     p=position; 
     if(lastID == id || lastID == -1){ 
      details.startAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.enter)); 
      details.setVisibility(View.VISIBLE); 
     }else{ 
      details.startAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade2)); 
      details.setVisibility(View.GONE); 
     } 
     lastID = id; 
    } 
}; 
+0

それはほとんど働いていますが、私はアプリを起動したときに、私は理由はありませんが、項目を表示するには2回クリックする必要があります。 – Tsunaze

+0

ああ、デフォルトのIDを確認する必要があります。私は自分の投稿を更新しました。 –

+0

それはほとんど終わりました。私はnoobのように聞こえるが、私は別の問題を抱えていると知っている。私がしたいのは、初めてクリックすると、詳細を開く。そして、もし私が何か他のものをクリックしたら、それは残るだろうが、詳細は違うだろう。 – Tsunaze

関連する問題