android - 初始化列表适配器时出错

标签 android android-listview

我正在尝试显示可以放入联系人的组列表(放在数组列表中)。我在实现 ListAdapter 以在屏幕上显示联系人组时遇到问题。

到目前为止我写的代码。

package awad865.se206.contactmanager;

import java.util.ArrayList;
import java.util.List;

import android.app.ActionBar.Tab;
import android.app.Fragment;
import android.app.ActionBar;
import android.app.ActionBar.TabListener;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;

public class FragmentTab1 extends Fragment implements ActionBar.TabListener {

    private Fragment mFragment;
    private ListView listView;
    private Button button1;
    private Button button2;
    private Button button3;

    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        //Get the view from fragment1.xml
        getActivity().setContentView(R.layout.fragment1);

        listView =(ListView) getActivity().findViewById(R.id.main_group_listview);
        button1=(Button) getActivity().findViewById(R.id.button_search);
        button2=(Button) getActivity().findViewById(R.id.button_addgroup);
        button3=(Button) getActivity().findViewById(R.id.button_options);


        setUpListView();
    }



    private void setUpListView(){
        List<String> displayList = new ArrayList<String>();
        displayList.add("Coworkers");
        displayList.add("Family");
        displayList.add("Friends");

        ListAdapter listAdapter = new ArrayAdapter<String>(FragmentTab1.this,
                android.R.layout.simple_list_item_1, displayList);
        listView.setAdapter(listAdapter);


    }



    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        mFragment = new FragmentTab1();
        //Attach fragment1.xml layout
        ft.add(android.R.id.content, mFragment);
        ft.attach(mFragment);

    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
        //Remove fragment1.xml layout
        ft.remove(mFragment);
    }
    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
        // TODO Auto-generated method stub

    }



}

每当我写下这行代码时:

ListAdapter listAdapter = new ArrayAdapter<String>(FragmentTab1.this,android.R.layout.simple_list_item_1, displayList);

我收到错误消息:

"The constructor ArrayAdapter(FragmentTab1.this,android.R.layout.simple_list_item_1, displayList) is undefined."

我不知道如何解决这个问题。

如有任何帮助,我们将不胜感激。

最佳答案

试试这个:

ListAdapter listAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, displayList);

FragmentTab1.this 不会为您提供上下文,但 getActivity() 会。

关于android - 初始化列表适配器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18883276/

相关文章:

android - 异构网格布局

带有 BaseAdapter 拖放排序的 Android ListView

android - 更改 ListView 中第一项的背景颜色

java - 在 ListView 中,所有值都插入到第一个位置

Android Activity 在解锁设备后重新启动

java - 使用复选框获取 NullPointerException

android - AutoCompleteTextView onSubmit 事件

android - 如何在 Android 上跨各种设备可靠地捕获低分辨率视频?

java - 如何将单击的 ListView 项目的文本发送到我的新 Activity ?

java - notifyDataSetChanged 不更新 listView