簡體   English   中英

與Gson反對Json | 安卓

[英]Object to Json with Gson | ANDROID

我需要將此對象轉換為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);
}

您不能序列化一個按鈕。 兩種方法都不起作用。 即使使用第二種方法,json變量也為null。

android中的按鈕不可序列化。

但是您可以序列化按鈕的元數據(屬性),例如textsize,textcolor等。 然后在創建按鈕時使用這些數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM