未找到ArrayAdapter构造函数

时间:2015-01-28 20:59:33

标签: android android-arrayadapter

我正在显示已连接到Android手机的所有设备的列表。我真的想继续使用片段来帮助轻松导航。我在声明Cannot resolve constructor 'ArrayAdapter(com.henryjarend.test.Connect2, int, java.util.List<java.lang.String>)'

的ArrayAdapter adapter1代码上收到错误

我已经查看了android开发人员API上的构造函数,看起来它应该正常工作。

以下是代码:

public class Connect2 extends ListFragment {

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.connect2, container, false);
}

public void onCreate(Bundle savedInstanceState){
     super.onCreate(savedInstanceState);

    BluetoothAdapter myBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    Set<BluetoothDevice> pairedDevices = myBluetoothAdapter.getBondedDevices();

    List<String> previousDevices = new ArrayList<String>();
    for(BluetoothDevice bt : pairedDevices){
        previousDevices.add(bt.getName());
    }

    ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, R.layout.connect2, previousDevices);

    //setListAdapter(new ArrayAdapter<String>(this, android.R.id.list, previousDevices));
    }
}

注释掉的部分是我在网上找到的另一个例子,但它有与未注释的问题相同的问题。

1 个答案:

答案 0 :(得分:1)

问题:

    ArrayAdapter<String> adapter1 = 
                     new ArrayAdapter<String>(this, R.layout.connect2, previousDevices)

this这里是ListFragment,为上下文获取此片段的活动。

解决方案:

ArrayAdapter<String> adapter1 = 
            new ArrayAdapter<String>(getActivity(), R.layout.connect2, previousDevices)