【发布时间】:2015-04-28 17:28:30
【问题描述】:
我在我的应用程序中使用这个库:Card Library : Guide 并创建了一张卡片,如示例所示。
现在我需要处理一个单击事件,但在实例化以下内容时收到错误消息:new Card.OnCardClickListener,其中显示为OnCardClickListener is abstract: cannot be instantiated。
在我的活动中,我有这个代码:
Card card = new Card(getBaseContext());//getContext()
CardHeader header = new CardHeader(getBaseContext());
card.addCardHeader(header);
final CardViewNative cardView = (CardViewNative) findViewById(R.id.carddemo);
cardView.setCard(card);
cardView.setClickable(true);
cardView.setOnClickListener(new Card.OnCardClickListener()); //error here
怎么了?如何将我的卡片设置为可点击,然后处理点击/触摸事件?
编辑
如果我这样使用:
cardView.setOnClickListener(new Card.OnCardClickListener(){//error here
@Override
public void onClick(Card card, View view) {
// This will execute when the the card is clicked
}
});
上面写着cannot resolve method setOnClickListener(it.gmariotti.cardslib.library.internal.Card.OnCardClickListener)
EDIT1
你们是对的,我在卡本身上设置了setOnClickListener,就没有错误了,
但在点击卡片时它仍然不执行任何操作。这是新代码:
//Create a Card
Card card = new Card(this);//getContext()
//Create a CardHeader
CardHeader header = new CardHeader(this);
//....
//Add Header to card
card.addCardHeader(header);
//Set card in the cardView
CardViewNative cardView = (CardViewNative) this.findViewById(R.id.carddemo);
cardView.setCard(card);
card.setClickable(true);
card.setOnClickListener(new Card.OnCardClickListener(){
@Override
public void onClick(Card card, View view) {
// This will execute when the the card is clicked
Toast.makeText(CardMariotti.this,"Clickable card", Toast.LENGTH_LONG).show();
}
});
我执行了调试,但从未调用过 onClick 方法。怎么会?
【问题讨论】:
标签: android android-layout android-recyclerview android-cardview cardslib