提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、设计跳转后的界面
这里将界面简单设计如下,其中的imageview和textview直接导入项目中的资源文件即可。
其中该activity的java代码如下
private TextView textView;
private ImageView imageView;
private int[] Text = {R.raw.text0,R.raw.text1,R.raw.text2,R.raw.text3};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_news);
textView = findViewById(R.id.textView_news);
imageView = findViewById(R.id.imageView);
Intent intent =getIntent();
String msg=intent.getStringExtra("data");
int value = Integer.parseInt(msg);
textView.setText(read(value));
imageView.setImageResource(R.drawable.usa);
}
String read(int s) {
InputStream inputStream = null;
Reader reader = null;
BufferedReader bufferedReader = null;
String result = null;
try {
//得到资源中的Raw数据流
inputStream = getResources().openRawResource(Text[s]);
reader = new InputStreamReader(inputStream);// 字符流
bufferedReader = new BufferedReader(reader); //缓冲流
result = "";
String temp;
while ((temp = bufferedReader.readLine()) != null) {
result += temp;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
二、为item添加点击监听
在MyViewHolder创建ConstraintLayout类型变量使其绑定item整体布局
public class MyViewHolder extends RecyclerView.ViewHolder {
ConstraintLayout mRootView;
TextView textView1;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
textView1 = itemView.findViewById(R.id.tv);
mRootView = itemView.findViewById(R.id.rootview);
}
在onBindViewHolder中创建点击监听
holder.mRootView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(context,newsActivity.class);
intent.putExtra("data", ""+position);
context.startActivity(intent);
}
});
运行结果如下(点击美国)
总结
在这一次的操作中熟悉了对recycleView的点击监听的使用声明,也了解了瑞项目中资源文件的调用方法,文件的基本能读操作。
附gitee代码仓库如下:https://gitee.com/zhuizhuihome/as-programming/tree/master/AS-20-25