Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 片段列表视图中的自定义适配器_Android_Listview_Android Fragments - Fatal编程技术网

Android 片段列表视图中的自定义适配器

Android 片段列表视图中的自定义适配器,android,listview,android-fragments,Android,Listview,Android Fragments,我正在尝试向片段中的listview添加自定义适配器。它运行正常,但没有显示任何片段。我试过很多方法,但都没能奏效。任何帮助都会很好。提前谢谢。这是我的密码: Fragment.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent

我正在尝试向片段中的listview添加自定义适配器。它运行正常,但没有显示任何片段。我试过很多方法,但都没能奏效。任何帮助都会很好。提前谢谢。这是我的密码: Fragment.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


<ListView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:id="@+id/UniFeeList"
    android:layout_centerHorizontal="true"
    android:clickable="true"
    >

</ListView>


<android.support.design.widget.FloatingActionButton
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@android:drawable/ic_input_add"
    android:id="@+id/addQuestion"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_margin="10dip"
    />


</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>

Fragment.Java

public class UniFeedFragment extends Fragment {
    ListView uniFeedListview;
    FloatingActionButton askQuestion;
    String stdEmail, UniEmail;
    TextView tv;
    Post post;
    String date,time;
    ListView UniFeedList;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        ViewGroup view =  (ViewGroup) inflater.inflate(R.layout.unifeedfragment, container, false);



        //Getting Time
        DateFormat df = new SimpleDateFormat("HH:mm");
        time = df.format(Calendar.getInstance().getTime());

        //Getting Date
        DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd");
        Date today = new Date();
        date = dateFormatter.format(today);

        //Getting data from news feed search bar
        UniFeed uniFeed = (UniFeed) getActivity();
        stdEmail = uniFeed.stdEmail;
        UniEmail = uniFeed.uni.getEmail();

        //Setting Listview
        UniFeedList = (ListView) view.findViewById(R.id.UniFeeList);
        final ArrayList<Post> postArray = new ArrayList<Post>();
        PostListAdapter PostList = new PostListAdapter(this.getActivity(), R.layout.activity_uni_feed ,postArray);
        UniFeedList.setAdapter(PostList);


        return view;
    }
public class PostListAdapter extends BaseAdapter {
Context context = null;
ArrayList<Post> postData = new ArrayList<>();
LayoutInflater inflater;

public PostListAdapter(Context context, int activity_uni_feed, ArrayList<Post> postData){
    this.context = context;
    this.postData = postData;
}

@Override
public int getCount() {
    return postData.size();
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

        inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        convertView= inflater.inflate(R.layout.unifeedpost, parent, false);

    return convertView;
} }
公共类UniFeedFragment扩展了片段{
ListView-uniFeedListview;
浮动操作按钮询问问题;
字符串stdEmail,UniEmail;
文本视图电视;
岗位;
字符串日期、时间;
ListView-UniFeedList;
@可空
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图组视图=(视图组)充气器。充气(R.layout.unifeedfragment,container,false);
//获得时间
DateFormat df=新的SimpleDataFormat(“HH:mm”);
time=df.format(Calendar.getInstance().getTime());
//约会
DateFormat dateFormatter=新的SimpleDateFormat(“yyyy-MM-dd”);
今天日期=新日期();
日期=dateFormatter.format(今天);
//从新闻提要搜索栏获取数据
UniFeed UniFeed=(UniFeed)getActivity();
stdEmail=uniFeed.stdEmail;
UniEmail=uniFeed.uni.getEmail();
//设置Listview
UniFeedList=(ListView)view.findViewById(R.id.UniFeeList);
最终ArrayList postArray=新ArrayList();
PostListAdapter PostList=新的PostListAdapter(this.getActivity(),R.layout.activity\u uni\u提要,postArray);
setAdapter(PostList);
返回视图;
}
PostListAdapter.java

public class UniFeedFragment extends Fragment {
    ListView uniFeedListview;
    FloatingActionButton askQuestion;
    String stdEmail, UniEmail;
    TextView tv;
    Post post;
    String date,time;
    ListView UniFeedList;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        ViewGroup view =  (ViewGroup) inflater.inflate(R.layout.unifeedfragment, container, false);



        //Getting Time
        DateFormat df = new SimpleDateFormat("HH:mm");
        time = df.format(Calendar.getInstance().getTime());

        //Getting Date
        DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd");
        Date today = new Date();
        date = dateFormatter.format(today);

        //Getting data from news feed search bar
        UniFeed uniFeed = (UniFeed) getActivity();
        stdEmail = uniFeed.stdEmail;
        UniEmail = uniFeed.uni.getEmail();

        //Setting Listview
        UniFeedList = (ListView) view.findViewById(R.id.UniFeeList);
        final ArrayList<Post> postArray = new ArrayList<Post>();
        PostListAdapter PostList = new PostListAdapter(this.getActivity(), R.layout.activity_uni_feed ,postArray);
        UniFeedList.setAdapter(PostList);


        return view;
    }
public class PostListAdapter extends BaseAdapter {
Context context = null;
ArrayList<Post> postData = new ArrayList<>();
LayoutInflater inflater;

public PostListAdapter(Context context, int activity_uni_feed, ArrayList<Post> postData){
    this.context = context;
    this.postData = postData;
}

@Override
public int getCount() {
    return postData.size();
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

        inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        convertView= inflater.inflate(R.layout.unifeedpost, parent, false);

    return convertView;
} }
公共类PostListAdapter扩展了BaseAdapter{
Context=null;
ArrayList postData=新的ArrayList();
充气机;
公共PostListAdapter(上下文上下文、int-activity\u-uni\u-feed、ArrayList-postData){
this.context=上下文;
this.postData=postData;
}
@凌驾
public int getCount(){
返回postData.size();
}
@凌驾
公共对象getItem(int位置){
返回null;
}
@凌驾
公共长getItemId(int位置){
返回0;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
convertView=充气机。充气(R.layout.unifeedpost,父项,false);
返回视图;
} }
unifeedPost.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


<ListView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:id="@+id/UniFeeList"
    android:layout_centerHorizontal="true"
    android:clickable="true"
    >

</ListView>


<android.support.design.widget.FloatingActionButton
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@android:drawable/ic_input_add"
    android:id="@+id/addQuestion"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_margin="10dip"
    />


</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>



我看到您的
postArray
不包含任何数据,因此您的
ListView
将有0个项我正在使用以下代码在getView()方法中设置数据:TextView名称=(TextView)convertView.findViewById(R.id.stdName);TextView日期时间=(TextView)convertView.findViewById(R.id.time);TextView postContent=(TextView)convertView.findViewById(R.id.postContent);Name.setText(post.getStdName());DateTime.setText(post.getTime()+“”+post.getDate());postContent.setText(post.getContent());在getView中,它仍然不起作用,您返回的是一个空白布局。我看到您的
postArray
不包含任何数据,因此您
ListView
将有0项。我正在使用以下代码在getView()方法中设置数据:TextView名称=(TextView)convertView.findViewById(R.id.stdName);TextView日期时间=(TextView)convertView.findViewById(R.id.time);TextView postContent=(TextView)convertView.findViewById(R.id.postContent);Name.setText(post.getStdName());DateTime.setText(post.getTime()+“”+post.getDate());postContent.setText(post.getContent());在getView中它仍然不起作用,您返回的是一个空白布局。