簡體   English   中英

如何將數據從類傳遞到片段?

[英]How do I pass data from a class to a fragment?

我正在嘗試為應用創建一些片段,並希望使用一個類來表示其數據,例如名稱,級別,運行狀況等。

因此,在我目前正在處理的片段中,我只知道如何使用在其自己的類文件中聲明的數據並將其應用於微調器。 以下是它的代碼,可以按照我的意願完美地工作。 但是我希望有一個僅包含數據變量的類文件,以便可以在所有片段之間全局使用,而不必一遍又一遍地重復代碼。 下面是片段中的代碼。

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_hunt, container, false);

        String [] names = {"Peter Pan", "Captain Hook", "Jack Sparrow"};

        Spinner spinner = (Spinner) view.findViewById(R.id.spinner);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, names);
        adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        spinner.setAdapter(adapter);

        return view;
    }

真的,有人知道如何將下面的純Java類中的數據提取到此片段中,以便可以在許多片段之間使用它們嗎?

我下面的類是我創建的僅用於存儲數據變量的類。

public class TreasureHunter {

    public static String[] name = new String[] {
            "Peter Pan",
            "Captain Hook",
            "Jack Sparrow"
    };

    public static int[] picturePath = new int[] {
            R.drawable.peter,
            R.drawable.hook,
            R.drawable.jack
    };

    public static int[] health = new int[] {
            120,
            100,
            110

    };
}

不知道我是否理解正確,但是如果您想從靜態類中提取/保存數據,則可以直接調用它:String [] names = TreasureHunter.name。 該片段與它無關。
編輯
另外,通過一種更加面向對象的方法,您可以創建具有名稱,圖像,健康狀況等變量的“字符”類。 創建一個帶有字符“ roster”的靜態數組的類。 然后構建您的角色:Character peterPan = new Character(name,img,health)然后添加到您的名冊數組。 這樣,您將擁有一個單獨字符的數組,而不是需要保持平行的數組。

暫無
暫無

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

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