项目场景:
在使用Intent实现Activity间数据传递使用到各种类型数据,想在日志打印台查看数据是否传递成功
问题描述:
我传了一个int型,但使用Log.d工具的时候一直提示错误:
//发起启动页代码(点击按钮使用intent跳转并传值,声明一个int类型数据
btn_register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int data = 196;
Intent in = new Intent(MainActivity.this,RegisterAvtivity.class);
in.putExtra("testInt",data);
startActivity(in);
}
});
//启动页代码(接收发起启动页传来的数据,并使用Log.d进行打印
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
Intent in = getIntent();
int testInt = in.getIntExtra("testInt",122);
Log.d("RegisterAvtivity,testInt);
}
然后提示如下错误:
原因分析:
Log.(i/d/v)只能打印字符串类型的数据
解决方案:
将接收的数据转换城String类型再进行打印就可以了
//使用String.valueof(...)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
Intent in = getIntent();
int testInt = in.getIntExtra("testInt",122);
Log.d("RegisterAvtivity",String.valueOf(testInt));
}
这样就不会报错啦~
然后就可以在LogCat的debug下查看日志的打印信息啦