Java 不在片段扩展类中显示Listview
我遵循androidhive教程,希望将片段与listview活动结合起来。 首先,我对android非常陌生。如果我犯了错误,请原谅我 代码是这样的,slidemenu使用片段类绘制,我不能将扩展类更改为ListFragment。我想在抽屉中的每个片段中都有一个列表视图 非常感谢你帮助我 这是片段类Java 不在片段扩展类中显示Listview,java,android,listview,android-fragments,android-listview,Java,Android,Listview,Android Fragments,Android Listview,我遵循androidhive教程,希望将片段与listview活动结合起来。 首先,我对android非常陌生。如果我犯了错误,请原谅我 代码是这样的,slidemenu使用片段类绘制,我不能将扩展类更改为ListFragment。我想在抽屉中的每个片段中都有一个列表视图 非常感谢你帮助我 这是片段类 public class FindPeopleFragment extends Fragment { public FindPeopleFragment(){} @Override publi
public class FindPeopleFragment extends Fragment {
public FindPeopleFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_find_people, container, false);
return rootView;
} }
这是一个xml文件
<?xml version="1.0" encoding="utf-8"?>
<!-- Single List Item Design -->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/label"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dip"
android:textSize="16dip"
android:textStyle="bold" >
</TextView>
适配器文件
public class NavDrawerListAdapter extends BaseAdapter {
private Context context;
private ArrayList<NavDrawerItem> navDrawerItems;
public NavDrawerListAdapter(Context context, ArrayList<NavDrawerItem> navDrawerItems){
this.context = context;
this.navDrawerItems = navDrawerItems;
}
@Override
public int getCount() {
return navDrawerItems.size();
}
@Override
public Object getItem(int position) {
return navDrawerItems.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.drawer_list_item, null);
}
ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon);
TextView txtTitle = (TextView) convertView.findViewById(R.id.title);
TextView txtCount = (TextView) convertView.findViewById(R.id.counter);
imgIcon.setImageResource(navDrawerItems.get(position).getIcon());
txtTitle.setText(navDrawerItems.get(position).getTitle());
// displaying count
// check whether it set visible or not
if(navDrawerItems.get(position).getCounterVisibility()){
txtCount.setText(navDrawerItems.get(position).getCount());
}else{
// hide the counter view
txtCount.setVisibility(View.GONE);
}
return convertView;
}
}
公共类NavDrawerListAdapter扩展了BaseAdapter{
私人语境;
私人ArrayList NavWrites;
公共NavDrawerListAdapter(上下文上下文,ArrayList navDrawerItems){
this.context=上下文;
this.navDrawerItems=navDrawerItems;
}
@凌驾
public int getCount(){
返回navDrawerItems.size();
}
@凌驾
公共对象getItem(int位置){
返回NAVS.get(位置);
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
if(convertView==null){
LayoutInflater mInflater=(LayoutInflater)
context.getSystemService(Activity.LAYOUT\u INFLATER\u SERVICE);
convertView=mInflater.充气(R.layout.drawer\u list\u项,空);
}
ImageView imgIcon=(ImageView)convertView.findViewById(R.id.icon);
TextView txtTitle=(TextView)convertView.findViewById(R.id.title);
TextView txtCount=(TextView)convertView.findViewById(R.id.counter);
setImageResource(navDrawerItems.get(position.getIcon());
setText(navDrawerItems.get(position.getTitle());
//显示计数
//检查设置是否可见
if(navDrawerItems.get(position.getCounterVisibility()){
setText(navDrawerItems.get(position.getCount());
}否则{
//隐藏计数器视图
txtCount.setVisibility(View.GONE);
}
返回视图;
}
}
像这样试试,它正在工作
public class FindPeopleFragment extends ListFragment{
public FindPeopleFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_find_people, container, false);
return rootView;
}
是的,因为在主要活动中您使用了片段管理器,其导航抽屉示例是它?您得到了什么错误?列表未显示。显示您的自定义适配器文件感谢您的回复。如果我更改扩展类。它给了我main_活动类中的错误,因为该类正在main_活动类中用作片段类。No。埃迪兄弟。当我将Fragment更改为ListFragment时,它在main_活动类中给出了错误。在主活动类中,这个类被认为是片段类。在MiNyActivity类中,Switter - Case1。
public class NavDrawerListAdapter extends BaseAdapter {
private Context context;
private ArrayList<NavDrawerItem> navDrawerItems;
public NavDrawerListAdapter(Context context, ArrayList<NavDrawerItem> navDrawerItems){
this.context = context;
this.navDrawerItems = navDrawerItems;
}
@Override
public int getCount() {
return navDrawerItems.size();
}
@Override
public Object getItem(int position) {
return navDrawerItems.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.drawer_list_item, null);
}
ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon);
TextView txtTitle = (TextView) convertView.findViewById(R.id.title);
TextView txtCount = (TextView) convertView.findViewById(R.id.counter);
imgIcon.setImageResource(navDrawerItems.get(position).getIcon());
txtTitle.setText(navDrawerItems.get(position).getTitle());
// displaying count
// check whether it set visible or not
if(navDrawerItems.get(position).getCounterVisibility()){
txtCount.setText(navDrawerItems.get(position).getCount());
}else{
// hide the counter view
txtCount.setVisibility(View.GONE);
}
return convertView;
}
}
public class FindPeopleFragment extends ListFragment{
public FindPeopleFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_find_people, container, false);
return rootView;
}