我需要将这个对象转换为Json字符串,但是如果该对象被声明到MainActivity类中,我就不能。如果我在函数中声明了它,它就能工作。
public class MainActivity extends AppCompatActivity {
public class Boton implements Serializable{
public Button bt;
public String path;
public String fname;
/*Boton(Button bt, String path, String fname){
this.bt = bt;
this.path = path;
this.fname = fname;
}*/
}
Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
load_bts();
}
public void load_bts(){
Button bt = new Button(this);
Boton cbt = new Boton();
cbt.bt = bt;
cbt.path = "QUESO";
cbt.fname = "";
Gson gson = new Gson();
String json = gson.toJson(cbt);
}
如果我这样做,应用程序就可以工作了:
public void load_bts() {
class Boton implements Serializable {
public Button bt;
public String path;
public String fname;
}
Button bt = new Button(this);
Boton cbt = new Boton();
cbt.bt = bt;
cbt.path = "QUESO";
cbt.fname = "";
Gson gson = new Gson();
String json = gson.toJson(cbt);
}
发布于 2018-09-20 05:52:07
不能序列化Button。这两种方法都不起作用。即使使用第二个方法,json变量也是空的。
https://stackoverflow.com/questions/52414378
复制相似问题