使用片段管理器时出错

时间:2013-08-28 17:58:52

标签: android

package com.c2.layoutsdemo;

import java.util.ArrayList;

import android.app.Activity;
import android.app.FragmentManager;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class ToDoListActivity extends Activity implements NewItemFragment.OnNewItemAddedListener {

另外,如果我按照例子制作arraylist和addar adapter final,我会收到关于arraylist初始化的其他错误。

    ArrayList<String> todoItems;
    ArrayAdapter<String> aa;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_to_do_list);

    FragmentManager fm= getFragmentManager();
    ToDoListFragment todolistFragment = (ToDoListFragment)fm.findFragmentById(R.layout.ToDoListFragment);

以上行给出错误:ToDoListFragment无法解析或不是字段

    todoItems = new ArrayList<String>();
    aa = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,todoItems);


    todolistFragment.setListAdapter(aa);


    }

    @Override
    public void onNewItemAdded(String newItem) {
        todoItems.add(newItem);
        aa.notifyDataSetChanged();

    }

}

1 个答案:

答案 0 :(得分:0)

您正在通过Id获取片段,因此不使用

R.layout.ToDoListFragment

你应该使用

R.id.TheIdOfTheFragment

并确保在您的布局文件中;您的片段声明包含id属性:

<fragment android:name="xxx,xxx,xxx.ToDoListFragment"
            android:id="@+id/TheIdOfTheFragment"
            ....
 />