protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setConten``tView(R.layout.lessons_layout);
recyclerView=findViewById(R.id.recyclerview);
MyAdapter myAdapter=new
MyAdapter(RecylerActivity.this,Lesson.getdata());
recyclerView.setAdapter(myAdapter);
LinearLayoutManager linearLayoutManager=new
LinearLayoutManager(RecylerActivity.this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(linearLayoutManager);
}
public MyAdapter(Context context,ArrayList<Lesson> data){
this.data = data;
inflater=LayoutInflater.from(context);
this.mDataList=data;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View v=inflater.inflate(R.layout.list_item,viewGroup,false);
MyViewHolder holder=new MyViewHolder(v);
return holder;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
Lesson ClickedLesson=mDataList.get(i);
myViewHolder.setData(ClickedLesson,i);
}
@Override
public int getItemCount() {
return mDataList.size();
}
class MyViewHolder extends RecyclerView.ViewHolder{
TextView mLessonName,mLessonPoint;
RelativeLayout rel;
public MyViewHolder(@NonNull final View itemView) {
super(itemView);
mLessonName=(TextView)itemView.findViewById(R.id.tvLessonName);
mLessonPoint=(TextView)itemView.findViewById(R.id.tvLessonPoint);
rel=(RelativeLayout)itemView.findViewById(R.id.Rellayout);
}
public void setData(Lesson ClickedLesson,int i){
this.mLessonName.setText(ClickedLesson.getLessonname());
this.mLessonPoint.setText(ClickedLesson.getPoint());
}
}
--lesson.java
public Lesson() {
}
public Lesson(String lessonname,String point) {
this.lessonname=lessonname;
this.point=point;
}
public String getLessonname() {
return lessonname;
}
public String getPoint() {
return point;
}
public void setLessonname(String lessonname) {
this.lessonname = lessonname;
}
public void setPoint(String point) {
this.point = point;
}
public static ArrayList<Lesson> getdata(){
ArrayList<Lesson> dataList=new ArrayList<Lesson>();
Lesson tmp=new Lesson();
tmp.setLessonname("Matematik");
tmp.setPoint("BA");
dataList.add(tmp);
Lesson tmp2=new Lesson();
tmp2.setLessonname("Mobil programlama");
tmp2.setPoint("AA");
dataList.add(tmp2);
Lesson tmp3=new Lesson();
tmp3.setLessonname("Algoritma");
tmp3.setPoint("BB");
dataList.add(tmp3);
Lesson tmp4=new Lesson();
tmp4.setLessonname("İngilizce");
tmp4.setPoint("DC");
dataList.add(tmp4);
Lesson tmp5=new Lesson();
tmp5.setLessonname("Yapay zeka");
tmp5.setPoint("CC");
dataList.add(tmp5);
return dataList;
}
--list_item.xml
<RelativeLayout
android:id="@+id/Rellayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cardview_shadow_end_color"
android:clickable="true"
android:orientation="horizontal">
<TextView
android:id="@+id/tvLessonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ders"
android:textSize="25sp"
android:textStyle="bold"
android:layout_margin="7dp"/>
<TextView
android:id="@+id/tvLessonPoint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Not"
android:textSize="20sp"
android:layout_alignParentEnd="true"
android:textStyle="italic"
android:layout_margin="7dp"/>
</RelativeLayout>
在适配器内部,添加点击监听器以启动活动。
holder.yourItem.setOnClickListener(v -> {
Intent intent = new Intent(context, YourActivity.class);
Lesspn lesson = lesson.get(position);
intent.putExtra("lesson_details", lesson);
context.startActivity(intent, options.toBundle());
});
然后在下一个活动中
Lesson lesson = (Lesson) intent.getSerializableExtra("lesson_details");
您的课程应实现Serializable
我在中有显示类别列表的片段,我想在用户单击类别项目时添加一个选项,应该开始一个新活动()其中包含一个显示文章列表的片段。 问题是,当我使用打开活动的方法Intent时,我会出现多个错误。 这是我的MainActivity2: 这是我把我的重定向: 这是我的日志:
当我点击listview项时,我试图启动一个活动。但是当我运行程序时,我得到了一些错误,比如: list_layout.xml
问题内容: 我有一个关于将点击的Cardview数据传递到活动的问题,这里是全文: 我有一个称为“详细信息”的活动,该活动的布局中包含2个TextViews,分别是Title和Description。 我设置了一个片段(tab_1),其中包含recyclerview代码和item数据,其中的每个item都包含:title&description。 我想要的是 : 当用户单击项目时,它将打开“详细信
我有一个带有通知的应用程序,如果我单击它们,就会打开某个活动。我想要的是,如果我点击通知,活动已经打开,它不是重新开始,但只是出现在前面。 我可以用标志来管理它吗?还是我应该在SharedPreferences中存储一个变量来检查它是否已打开? 谢谢!
我已经尝试了所有的方法,但它不适合我。我想打开或恢复应用程序,无论屏幕打开,同时单击通知。 我使用了以下方法:
主要内容:Eclipse 重新打开关闭的项目Eclipse 重新打开关闭的项目 要重新打开一个关闭的项目,在 Package Explorer 视图中,选择关闭的项目并单击 Project 菜单并选择 Open Project。 项目打开后,可以使用 Eclipse 用户界面编辑其内容。