Java 无法解析方法setListAdapter
我试图在片段中显示listView。但方法setListAdapter-未解析。 我认为,我必须获得listView的id(android.R.id.list); 然后:lv.setAdapter(mAdapter);但是它也不起作用Java 无法解析方法setListAdapter,java,android,android-fragments,android-listview,Java,Android,Android Fragments,Android Listview,我试图在片段中显示listView。但方法setListAdapter-未解析。 我认为,我必须获得listView的id(android.R.id.list); 然后:lv.setAdapter(mAdapter);但是它也不起作用 public class MyEmployeeFragment extends Fragment { private CustomAdapter sAdapter; private List<User> userList; P
public class MyEmployeeFragment extends Fragment {
private CustomAdapter sAdapter;
private List<User> userList;
ProgressDialog mProgressDialog;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setHasOptionsMenu(true);
userList = new ArrayList<User>();
sAdapter = new CustomAdapter(getActivity(),userList);
setListAdapter(sAdapter);
new CustomAsync().execute();
}
private class CustomAdapter extends ArrayAdapter<User> {
private LayoutInflater inflater;
public CustomAdapter(Context context, List<User> objects) {
super(context, 0, objects);
inflater = LayoutInflater.from(context);
}
class ViewHolder {
TextView id;
TextView name;
TextView lastName;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder vH;
if (convertView == null) {
convertView = inflater.inflate(R.layout.list_item_employee, null);
vH = new ViewHolder();
vH.id = (TextView) convertView.findViewById(R.id.tv_employee_id);
vH.name = (TextView) convertView.findViewById(R.id.tv_employee_name);
vH.lastName = (TextView) convertView.findViewById(R.id.tv_employee_last_name);
convertView.setTag(vH);
} else
vH = (ViewHolder) convertView.getTag();
final User user = getItem(position);
vH.id.setText(user.getId());
vH.name.setText(user.getName());
vH.lastName.setText(user.getLastName());
return convertView;
}
}
private class CustomAsync extends AsyncTask<Void,Void,List<User>>
{}
}
公共类MyEmployeeFragment扩展了片段{
私人定制适配器;
私有列表用户列表;
进程对话框;
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
设置选项菜单(真);
userList=newarraylist();
sAdapter=新的CustomAdapter(getActivity(),userList);
setListAdapter(sAdapter);
新建CustomAsync().execute();
}
私有类CustomAdapter扩展了ArrayAdapter{
私人充气机;
公共CustomAdapter(上下文、列表对象){
超级(上下文,0,对象);
充气器=充气器。从(上下文);
}
类视图持有者{
文本视图id;
文本视图名称;
文本视图姓氏;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视窗座;
if(convertView==null){
convertView=充气机。充气(R.layout.list\u item\u employee,空);
vH=新的视窗支架();
vH.id=(TextView)convertView.findViewById(R.id.tv\u employee\u id);
vH.name=(TextView)convertView.findViewById(R.id.tv\u employee\u name);
vH.lastName=(TextView)convertView.findViewById(R.id.tv\u employee\u last\u name);
convertView.setTag(vH);
}否则
vH=(ViewHolder)convertView.getTag();
最终用户=getItem(位置);
vH.id.setText(user.getId());
vH.name.setText(user.getName());
vH.lastName.setText(user.getLastName());
返回视图;
}
}
私有类CustomAsync扩展了AsyncTask
{}
}
XML
setListAdapter()
是ListFragment
中的一个方法。为此,您需要扩展ListFragmnet
,而不是Fragment
换行
public class MyEmployeeFragment extends Fragment
进入
setListAdapter()
是ListFragment
中的一个方法。为此,您需要扩展ListFragmnet
,而不是Fragment
换行
public class MyEmployeeFragment extends Fragment
进入
setListAdapter
是ListFragment
的一种方法,而您的片段扩展了fragment
因此,您可以扩展ListFragment
或
扩展Fragment
使用ListView
膨胀布局,在Fragment
的onCreateView
中初始化ListView
,然后使用ListView.setAdapter(适配器)
以防您想要扩展片段
<ListView
android:id="@+id/list"
setListAdapter
是ListFragment
的一种方法,而您的片段扩展了fragment
因此,您可以扩展ListFragment
或
扩展Fragment
使用ListView
膨胀布局,在Fragment
的onCreateView
中初始化ListView
,然后使用ListView.setAdapter(适配器)
以防您想要扩展片段
<ListView
android:id="@+id/list"
您需要首先定义ListView:
ListView list = (ListView) findById(android.R.id.list);
稍后,您需要放置适配器:
list.setAdapter(sAdapter);
或改变
extends Fragment
到
您需要首先定义ListView:
ListView list = (ListView) findById(android.R.id.list);
稍后,您需要放置适配器:
list.setAdapter(sAdapter);
或改变
extends Fragment
到
扩展列表片段
应该可以正常工作
下面是一个适合我的示例
public class Chicks extends ListFragment implements OnItemClickListener {
}
扩展列表片段
应该可以正常工作
下面是一个适合我的示例
public class Chicks extends ListFragment implements OnItemClickListener {
}
您的asynctask不适用于stackOverflow。应用程序内异步代码是允许的。如果你想要碎片,你可以按照我帖子中的建议去做。你的异步任务不只是为了堆栈溢出。应用程序内异步代码是可行的。如果你想要片段,你可以按照我帖子中的建议去做。我试着使用
ListFragment
。但是,FragmentTransaction
不起作用。我想使用Fragment
我还试着使用ListFragment
。但是,FragmentTransaction
不起作用。我想用Fragment
有一个解决方案!就这些@重写CreateView上的公共视图(LayoutInflater充气器、ViewGroup容器、Bundle savedInstanceState){userList=new ArrayList();sAdapter=new CustomAdapter(getActivity(),userList);View rootView=inflater.inflate(R.layout.my_employe,container,false);ListView lv=(ListView)rootView.findViewById(R.id.list);lv.setAdapter(sAdapter);return rootView;}`有一个解决方案!这一切!@覆盖CreateView上的公共视图(LayoutFlater充气器,ViewGroup容器,Bundle savedInstanceState){userList=new ArrayList();sAdapter=new CustomAdapter(getActivity(),userList);View rootView=充气器。充气(R.layout.my_Employee,容器,false);ListView lv=(ListView)rootView.findViewById(R.id.list);lv.setAdapter(sAdapter);返回rootView;}`