android - 使用 CardView + RecyclerView 的 ListView 不起作用
问题描述
我是 android 新手,在这里我尝试使用 RecyclerView 和 Cardview 绑定 ListView。在我的情况下,我没有收到任何错误,但我无法获取 ListView 项目。
这是我的适配器类
RecyclerviewAdapter_list.java
public class RecyclerviewAdapter_list extends RecyclerView.Adapter<RecyclerviewAdapter_list.MyViewHolder> {
private Context mContext;
private List<myAlarms> myAlarmsdata;
public RecyclerviewAdapter_list(Context mContext, List<myAlarms>myAlarms){
this.mContext = mContext;
this.myAlarmsdata =myAlarms;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
view = inflater.inflate(R.layout.cardview_alarm, parent, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
myAlarms myAlarms =myAlarmsdata.get(position);
holder.mTime.setText(myAlarmsdata.get(position).getALARM_TIME());
holder.mTitle.setText(myAlarmsdata.get(position).getALARM_TITLE());
}
@Override
public int getItemCount() {
return myAlarmsdata.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder {
TextView mTime,mTitle,mAmPm;
SwitchButton mbtn;
public MyViewHolder(View itemView) {
super(itemView);
mTime = (TextView) itemView.findViewById(R.id.mTime);
// mAmPm = (TextView) itemView.findViewById(R.id.mAmPm);
mTitle = (TextView) itemView.findViewById(R.id.mTitle);
// mbtn = (SwitchButton) itemView.findViewById(R.id.mTime);
}
}
}
报警活动.java
public class AlarmActivity extends Activity {
private ImageView mAddIcon;
List<myAlarms>myAlarms;
RecyclerView recyclerView;
Database_Helper database_helper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alarm);
Utils.darkenStatusBar(this, R.color.StatusbarColor);
database_helper = new Database_Helper(this);
mAddIcon = (ImageView) findViewById(R.id.mAddIcon);
myAlarms = new ArrayList<>();
recyclerView=(RecyclerView)findViewById(R.id.mRecyclerView_id);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
RecyclerviewAdapter_list recyclerviewAdapter_list =new RecyclerviewAdapter_list(this,myAlarms);
recyclerView.setAdapter(recyclerviewAdapter_list);
mAddIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
List<myAlarms> myAlarms = database_helper.getMyAlarms();
Intent intent = new Intent(AlarmActivity.this, CreateAlarm.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_up, R.anim.slide_out);
}
});
}
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
}
谁能告诉我我需要在哪里进行更改以及我在哪里做错了。谢谢。
解决方案
你把这段代码放在你的项目中
//当你想要水平 layoutManager.setOrientation(context,LinearLayoutManager.HORIZONTAL,false);
//当你想要垂直 layoutManager.setOrientation(context,LinearLayoutManager.VERTICAL,false);
推荐阅读
- shopify - Shopify Multi-currency 不适用于客户帐户页面中的订单
- jenkins - 在不同的服务器(而不是 Sonar)上运行时,如何使用 Jenkins 的 SonarScanner?
- android - 动态功能模块中配置更改后的 Resources$NotFoundException
- jquery - Laravel 属性 [pdf] 在 Eloquent 构建器实例中不存在
- angular - Angular:拦截器抛出错误后如何检查类类型
- autotools - Autotools ./configure 在 config.status 期间失败:由于 MKDIR_P 定义不正确,在 alpine 中执行 depfiles 命令
- powershell - 使用 whenChanged 属性删除的用户
- laravel - 升级到 5.8 后 IoC 解决问题
- pygame - Pygame屏幕颜色不会填充,直到屏幕移到开始菜单下方?
- r - 为什么一定要用“。” 将 dplyr 与 ggplot 结合时?