- 实现对Activity生命周期的理解,使用log展示生命周期的状态变化;
- 实现recycleView页面点击跳转。
一、使用log展示生命周期的状态变化
Activity
生命周期指
Activity
从创建到销毁的过程。
Activity
表现为四种状态:
•
活动状态Active
:
Activity
在用户界面中
处于最上层
,完全能被用户看到,能够与用户进行交互。
•
暂停状态Pause
:
Activity
在界面上
被部分遮挡
,不再处于用户界面的最上层,且不能够与用户进行交互。
(
如弹出消息框
)
•
停止状态Stop
:
Activity
被其他
Activity
全部遮挡
,界面完全不能被用户看到。
•
非活动状态Dead
:
Activity
没有启动或者被
finish()
。
部分代码如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
Log.d("rain","这是Activity4生命周期:onCreate。");
Intent intent4=getIntent();
textView=findViewById(R.id.textView2);
}
@Override
protected void onStart() {
super.onStart();
Log.d("rain","这是Activity4生命周期:onStart。");
}
@Override
protected void onResume() {
super.onResume();
Log.d("rain","这是Activity4生命周期:onResume。");
}
结果如下:
二、实现recycleView页面点击跳转
1、设计recycleView页面
把recycle控件放到消息界面的布局文件中(fragment1对应的tab01.xml)
新建一个item.xml文件规划列表中元素布局
Adapter连接后端数据和前端显示,是数据data和UI之间一个重要的纽带。编写适配器recycleAdapter,配置界面上的内容显示。
recycleAdapter代码如下:
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.io.File;
import java.util.List;
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.Myviewholder> {
private List<String> mlist;
private Context context;
public RecyclerViewAdapter(Context context, List<String> list) {
this.mlist=list;
this.context=context;
}
@NonNull
@Override
public Myviewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view=(View) LayoutInflater.from(parent.getContext()).inflate(R.layout.item,parent,false);
Myviewholder myviewholder=new Myviewholder((view));
return myviewholder;
}
@Override
public void onBindViewHolder(@NonNull Myviewholder holder, int position) {
holder.textView1.setText("联系人"+(position+1));
holder.textView2.setText(mlist.get(position));
holder.textView2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(context,ItemActivity.class);
context.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return mlist.size();
}
public class Myviewholder extends RecyclerView.ViewHolder{
TextView textView1,textView2;
public Myviewholder(@NonNull View itemView) {
super(itemView);
textView1=itemView.findViewById(R.id.textView1);
textView2=itemView.findViewById(R.id.textView2);
}
}
}
将内容显示在类微信界面的微信页面上,在微信页面对应的java文件(fragment1.java)中写入并配置我们想要显示的内容。
fragmen1.java部分代码如下:
public class Fragment1 extends Fragment {
private RecyclerView recyclerView1;
private Context context;
private List<String> mList=new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view;
view=inflater.inflate(R.layout.tab01, container, false);
context=view.getContext();
InitData();
recyclerView1=view.findViewById(R.id.recyclerView1);
RecyclerViewAdapter adapter=new RecyclerViewAdapter(context,mList);
recyclerView1.setAdapter(adapter);
LinearLayoutManager manager=new LinearLayoutManager(context);
manager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView1.setLayoutManager(manager);
recyclerView1.addItemDecoration(new DividerItemDecoration(context,LinearLayoutManager.VERTICAL));
return view;
}
private void InitData(){
mList.add("丁鑫鑫(什么意思哦???)");
mList.add("马吉克(大胆称呼我马某人)");
mList.add("张无敌(我哩,我哩脑壳)");
mList.add("宋人头(我si大壁虎)");
mList.add("贺西北风(我警告你端庄一点)");
mList.add("严好香(微信转账三百块)");
mList.add("刘丸子(你想遭捶迈)");
mList.add("小草房(我是一个傻瓜)");
mList.add("花园宝宝(玛卡巴卡)");
mList.add("小猪佩奇(粉色吹风机)");
}
}
2、实现页面点击跳转(对recycleView中的内容进行点击,跳转到详情页面)
新建一个ItemActivity文件存放跳转后详情页面中的内容,在activity布局文件中对页面进行布局
当点击recycleView中的内容时,通过intent进行传递和接收对应的数据和参数
新建一个resultActivity文件,在ItemActivity上添加按钮,点击后收到resultActivity的回传值(奥特曼在听!并肩前行!!!)
resultActivity代码如下:
public class resultActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
Intent intent=getIntent();
intent.putExtra("data","奥特曼在听!并肩前行!!!\n");
setResult(666,intent);
finish();
}
}
三、最终结果显示
四、全部代码地址:AS: 上代码!(Android Studio) (gitee.com)