无法实例化 ExpandableListAdapter,因为它是抽象的
Can't instantiate ExpandableListAdapter because it is abstract
我正在尝试使用来自 Internet 的代码,但是将上述代码插入我的个人项目时出现以下错误:
"ExpandableListAdapter" is abstract; cannot be instantiated
我已经尝试自己进行研究来解决我的问题,但我仍然无法解决上述问题...
这是我的代码:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ExpandableListView listView;
private ExpandableListAdapter AdapterMedia;
private List<String> listDataHeader;
private HashMap<String,List<String>> listHash;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ExpandableListView)findViewById(R.id.);
initData();
AdapterMedia = new ExpandableListAdapter(this, listDataHeader, listHash);
listView.setAdapter(AdapterMedia);
}
如有任何帮助,我们将不胜感激!
您需要创建一个自定义适配器 class,例如,命名为“MyExpandableListAdapter”,然后在 class 中实现 ExpandableListAdapter
。您还需要实现接口中声明的所有方法。
public class MyExpandableListAdapter implements ExpandableListAdapter {
@Override
public void registerDataSetObserver(DataSetObserver observer) {...}
}
@deHaar 是正确的,ExpandableListAdapter
是一个接口,不能直接实例化。我会查看此 tutorial 以获取更多信息。
此外,作为一般的旁注:findViewById(R.id.<id>;)
需要根据相应的 XML
布局定义关联的 <id>
:setContentView(R.layout.<layout>);
希望对您有所帮助!
我正在尝试使用来自 Internet 的代码,但是将上述代码插入我的个人项目时出现以下错误:
"ExpandableListAdapter" is abstract; cannot be instantiated
我已经尝试自己进行研究来解决我的问题,但我仍然无法解决上述问题...
这是我的代码:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ExpandableListView listView;
private ExpandableListAdapter AdapterMedia;
private List<String> listDataHeader;
private HashMap<String,List<String>> listHash;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ExpandableListView)findViewById(R.id.);
initData();
AdapterMedia = new ExpandableListAdapter(this, listDataHeader, listHash);
listView.setAdapter(AdapterMedia);
}
如有任何帮助,我们将不胜感激!
您需要创建一个自定义适配器 class,例如,命名为“MyExpandableListAdapter”,然后在 class 中实现 ExpandableListAdapter
。您还需要实现接口中声明的所有方法。
public class MyExpandableListAdapter implements ExpandableListAdapter {
@Override
public void registerDataSetObserver(DataSetObserver observer) {...}
}
@deHaar 是正确的,ExpandableListAdapter
是一个接口,不能直接实例化。我会查看此 tutorial 以获取更多信息。
此外,作为一般的旁注:findViewById(R.id.<id>;)
需要根据相应的 XML
布局定义关联的 <id>
:setContentView(R.layout.<layout>);
希望对您有所帮助!