-1

ここで SharedPreferences を使用してチュートリアルを実行しようとしていますSimple Multiple Selection Checkboxes他のコードはすべて問題ないように見えますが、引数が適用されないというエラーメッセージが表示されます。このチュートリアルでは、配列にいくつかの値を追加しようとしていると思います。これは私が試したものですが、それでもエラーが発生します。

private void LoadSelections() {
    // if the selections were previously saved load them

    SharedPreferences settingsActivity = getPreferences(MODE_PRIVATE);

    if (settingsActivity.contains(SETTING_TODOLIST)) {
        String savedItems = settingsActivity
                .getString(SETTING_TODOLIST, "");

        this.selectedItems.addAll(Arrays.asList(savedItems.split(",")));
        int count = this.mainListView.getAdapter().getCount();

        for (int i = 0; i < count; i++) {
            String currentItem = (String) this.mainListView.getAdapter()
                    .getItem(i);
            if (this.selectedItems.contains(currentItem)) {
                this.mainListView.setItemChecked(i, true);
            }

        }

    }
}


    private ArrayList<string> PrepareListFromXml() {
    ArrayList<string> cheeseItems = new ArrayList<string>();
    XmlResourceParser ingredientsXML = getResources().getXml(R.xml.ingredients);

    int eventType = -1;
    while (eventType != XmlResourceParser.END_DOCUMENT) {
        if (eventType == XmlResourceParser.START_TAG) {

            String strNode = ingredientsXML.getName();
            if (strNode.equals("item")) {

                cheeseItems.add(ingredientsXML.getAttributeValue(null,"title"));

            }
        }
4

1 に答える 1

0

タイプを混同していますがR.string、Java のタイプと同じではありませんString

getAttributeValue(String, String)パーサー オブジェクトのメソッドは、String別の種類の型を取るジェネリック リストに入れようとしている型のオブジェクトを返します。

したがって、次の 2 つのことができます。

  1. リストのジェネリック型を変更し、その型を返すメソッドArrayList<String>のシグネチャを変更します。PrepareListFromXml

  2. リストに追加する前にString、から に変換する必要があります。R.string

于 2012-10-09T09:27:10.497 に答える