これは、2番目のクリックを処理しようとしています。CardView
です。 I(またはユーザー)がCardView
をクリックしたときCardViewの2回目のクリックを処理する方法
例えば、今、それはCardView
、TRANSPARENT
も、Focusable
およびいくつかの他のstuffs EditText
にAndroid
テキストを追加するようになります。ユーザーまたは私は自分自身が二度目ためCardView
をクリックしたとき
だから、私は私がそれを行うことができますどのように、CardView
Color.WHITE
に変わり、false
または他のstuffsに設定Focusable
...
処理する必要があります?ここで
は私がこれまでにやったことです:
final CardView cvAnd = (CardView) findViewById(R.id.and_cv);
cvAnd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
cvAnd.setTag("FirstClick");
if (cvAnd.getTag().equals("FirstClick") && TextUtils.isEmpty(mTagField.getText().toString())) {
mTagField.setText(R.string.android);
} else {
mTagField.setText(mTagField.getText() + "Android");
}
cvAnd.setCardBackgroundColor(Color.TRANSPARENT);
cvAnd.setFocusable(true);
//First click
cvAnd.setTag("SecondClick");
if (cvAnd.getTag().equals("SecondClick")) {
cvAnd.setCardBackgroundColor(Color.WHITE);
cvAnd.setFocusable(false);
}
//Second click maybe?
}
});
アイデアは、タグがやっFirstClick
だった場合、それを扱うFirstClick
に(をクリックしてください最初の時間に)タグを設定することでした最初のクリックするものなど...
しかし、事実は、私は実際にそのことを手がかりにしていません2度目のクリックをクリックします。
なぜ単純なグローバルブール値を使用しないのですか? (それは一度に1枚しかカードを扱わなければならない場合は最も簡単な解決策です) – MatPag
さて、あなたが選んでいるようなカードはほとんどありません.1から10などがあります。アイデアを答えとして?私が思うところでは、それはあなたが知っている私の期待と一致しません...それは素晴らしいでしょう – Mohsen
他のカード=アダプタ。 RecyclerViewを使用している場合は、ブール値をViewHolder内に保存し、それを使用してロジックを処理できます。 ViewHolderを再利用すると、状態をデフォルト値にリセットできます。 – MatPag