好吧,我只是想處理第二次點擊CardView
。如何處理CardView上的第二次點擊
例如,現在,當我(或用戶)點擊該CardView
,它將使CardView
,TRANSPARENT
並且還Focusable
和其他一些東西,如添加Android
文本成EditText
。
所以,我需要處理時,用戶或我自己點擊了CardView
第二次,CardView
變化Color.WHITE
並設置Focusable
到false
或其他東西......
我如何能做到這一點?
這裏是我做了什麼至今:
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
做第一次點擊東西等...
但是,事情是,我真的沒有線索如何處理該第二次點擊。
爲什麼不使用簡單的全局布爾值? (這是最簡單的解決方案,如果你只需要在一次處理1張卡) – MatPag
那麼,讓我們說有幾個卡,用戶想要選擇這樣的..它可以是1到10或等等。反正,你能讓你的想法作爲答案?因爲無論我想什麼,它與我的期望不符你知道...這將是偉大的 – Mohsen
更多卡=適配器。如果您使用的是RecyclerView,則可以在ViewHolder中保存一個布爾值並使用它來處理邏輯。然後,當ViewHolder被重用時,您可以將狀態重置爲默認值。 – MatPag