Java 如何使用cardView在android中创建可刷卡和可点击卡?
我尝试使用,但无法修改它以创建单击功能 基本上,我想在单击卡片时使用animate(),但无法这样做 主要活动--Java 如何使用cardView在android中创建可刷卡和可点击卡?,java,android,android-layout,android-cardview,Java,Android,Android Layout,Android Cardview,我尝试使用,但无法修改它以创建单击功能 基本上,我想在单击卡片时使用animate(),但无法这样做 主要活动-- public类MainActivity扩展了AppCompatActivity{ 公共ArrayList al; 公共阵列适配器阵列适配器; 公共国际一级; @BindView(R.id.frame)SwipeFlingDapterView flingContainer; @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCre
public类MainActivity扩展了AppCompatActivity{
公共ArrayList al;
公共阵列适配器阵列适配器;
公共国际一级;
@BindView(R.id.frame)SwipeFlingDapterView flingContainer;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
把(这个)绑起来;
al=新的ArrayList();
al.添加(“php”);
al.添加(“c”);
al.添加(“python”);
al.添加(“java”);
al.添加(“html”);
添加(“c++”);
al.添加(“css”);
添加(“javascript”);
arrayAdapter=新的arrayAdapter(this,R.layout.item,R.id.helloText,al);
flingContainer.setAdapter(阵列适配器);
flingContainer.setFlingListener(新的SwipeFlingAdapterView.onFlingListener(){
@凌驾
public void removeFirstObjectInAdapter(){
//这是从适配器(/AdapterView)中删除对象的最简单方法
Log.d(“列表”,“删除对象!”);
al.移除(0);
arrayAdapter.notifyDataSetChanged();
}
@凌驾
public void onLeftCardExit(对象dataObject){
//在左边做点什么!
//您还可以访问原始对象。
//如果您想使用它,只需强制转换它(字符串)数据对象
MakeToos(MainActivity.this,“Left!”);
}
@凌驾
RightCardExit上的公共无效(对象dataObject){
MakeToos(MainActivity.this,“Right!”);
}
@凌驾
dapterabouttoempty上的公共void(int itemsInAdapter){
//在这里询问更多数据
al.add(“XML.concat(String.valueOf(i)));
arrayAdapter.notifyDataSetChanged();
日志d(“列表”、“通知”);
i++;
}
@凌驾
公共无效onScroll(浮动百分比){
View=flingContainer.getSelectedView();
view.findViewById(R.id.item\u swipe\u right\u indicator).setAlpha(scrollProgressPercent<0?-scrollProgressPercent:0);
view.findViewById(R.id.item\u swipe\u left\u indicator).setAlpha(scrollProgressPercent>0?scrollProgressPercent:0);
}
});
//**可选地添加一个侦听器,以满足此需求**
flingContainer.setOnItemClickListener(新的SwipeFlingAdapterView.OnItemClickListener(){
@凌驾
单击公共对象(int itemPosition,Object dataObject){
ImageView img=findViewbyid(R.id.img);
img.animate().alpha(1f).setduration(2000);
}
});
}
静态void makeToast(上下文ctx,字符串s){
Toast.makeText(ctx,s,Toast.LENGTH_SHORT).show();
}
@OnClick(右标识)
公共无效权(){
/**
*手动触发正确的事件。
*/
flingContainer.getTopCardListener().selectRight();
}
@OnClick(右id左)
公共空间(左){
flingContainer.getTopCardListener().selectLeft();
}
}
请在问题中添加更多详细信息您确定要使用哪种语言/平台吗?
public class MainActivity extends AppCompatActivity {
public ArrayList<String> al;
public ArrayAdapter<String> arrayAdapter;
public int i;
@BindView(R.id.frame) SwipeFlingAdapterView flingContainer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
al = new ArrayList<>();
al.add("php");
al.add("c");
al.add("python");
al.add("java");
al.add("html");
al.add("c++");
al.add("css");
al.add("javascript");
arrayAdapter = new ArrayAdapter<>(this, R.layout.item, R.id.helloText, al );
flingContainer.setAdapter(arrayAdapter);
flingContainer.setFlingListener(new SwipeFlingAdapterView.onFlingListener() {
@Override
public void removeFirstObjectInAdapter() {
// this is the simplest way to delete an object from the Adapter (/AdapterView)
Log.d("LIST", "removed object!");
al.remove(0);
arrayAdapter.notifyDataSetChanged();
}
@Override
public void onLeftCardExit(Object dataObject) {
//Do something on the left!
//You also have access to the original object.
//If you want to use it just cast it (String) dataObject
makeToast(MainActivity.this, "Left!");
}
@Override
public void onRightCardExit(Object dataObject) {
makeToast(MainActivity.this, "Right!");
}
@Override
public void onAdapterAboutToEmpty(int itemsInAdapter) {
// Ask for more data here
al.add("XML ".concat(String.valueOf(i)));
arrayAdapter.notifyDataSetChanged();
Log.d("LIST", "notified");
i++;
}
@Override
public void onScroll(float scrollProgressPercent) {
View view = flingContainer.getSelectedView();
view.findViewById(R.id.item_swipe_right_indicator).setAlpha(scrollProgressPercent < 0 ? -scrollProgressPercent : 0);
view.findViewById(R.id.item_swipe_left_indicator).setAlpha(scrollProgressPercent > 0 ? scrollProgressPercent : 0);
}
});
// **Optionally add an OnItemClickListener Need solution for this**
flingContainer.setOnItemClickListener(new SwipeFlingAdapterView.OnItemClickListener() {
@Override
public void onItemClicked(int itemPosition, Object dataObject) {
ImageView img=findViewbyid(R.id.img);
img.animate().alpha(1f).setduration(2000);
}
});
}
static void makeToast(Context ctx, String s){
Toast.makeText(ctx, s, Toast.LENGTH_SHORT).show();
}
@OnClick(R.id.right)
public void right() {
/**
* Trigger the right event manually.
*/
flingContainer.getTopCardListener().selectRight();
}
@OnClick(R.id.left)
public void left() {
flingContainer.getTopCardListener().selectLeft();
}
}