Android listView的第一项未从自定义适配器加载完整数据';s的布局文件,但其余的工作正常
listView的第一个项目不像其他两个项目那样显示,但是当单击第一个项目然后指向下一个页面时,整个内容都会显示出来 截图 这是要加载列表的活动Android listView的第一项未从自定义适配器加载完整数据';s的布局文件,但其余的工作正常,android,listview,arraylist,custom-adapter,Android,Listview,Arraylist,Custom Adapter,listView的第一个项目不像其他两个项目那样显示,但是当单击第一个项目然后指向下一个页面时,整个内容都会显示出来 截图 这是要加载列表的活动 公共类FacultyViewNoticeActivity扩展AppCompativeActivity实现AdapterView.OnItemClickListener{ 私有列表视图列表视图; 私人数据库参考; 私人名单通知名单; 私人学院视障适应者攻击适应者; 私人对话; @凌驾 创建时受保护的void(Bundle savedInstanceSt
公共类FacultyViewNoticeActivity扩展AppCompativeActivity实现AdapterView.OnItemClickListener{
私有列表视图列表视图;
私人数据库参考;
私人名单通知名单;
私人学院视障适应者攻击适应者;
私人对话;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u faculty\u view\u notice);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar\u FacultyViewNoticeActivity);
设置支持操作栏(工具栏);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
声明();
loadNoticeList();
setOnItemClickListener(this);
}
私人无效声明(){
listView=(listView)findViewById(R.id.listViewNotice\u FacultyViewNoticeActivity);
reference=FirebaseDatabase.getInstance().getReference();
noticesList=newarraylist();
pDialog=新建进度对话框(FacultyViewNoticeActivity.this);
}
私有void loadNoticeList(){
pDialog.setTitle(“搜索…”);
pDialog.show();
reference.child(“notice”).addValueEventListener(新的ValueEventListener()){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
noticesList.clear();
for(DataSnapshot ps:DataSnapshot.getChildren()){
Notice n=ps.getValue(Notice.class);
Log.i(“CollegeDialog”,“Notice=“+n.getNotice()+”\nTitle=“+n.getTitle());
通知列表。添加(n);
}
assAdapter=新的FacultyViewNoticeAdapter(FacultyViewNoticeActivity.this,noticeList);
setAdapter(assAdapter);
pDialog.disclose();
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
pDialog.disclose();
}
});
}
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
Notice a=noticesList.get(i);
意向意向=新意向(FacultyViewNoticeActivity.this,FacultyViewNoticeDetailsActivity.class);
意向。额外(“数据”,a);
星触觉(意向);
}
}
活动\u教员\u视图\u notice.xml文件
这是它的适配器
公共类FacultyViewNoticeAdapter扩展了ArrayAdapter{
私人活动语境;
私人名单公告员;
私有静态int x=0;
公共FacultyViewNoticeAdapter(活动上下文、列表通知列表){
超级(上下文、右布局、布局、视图、通知、通知列表);
this.context=上下文;
this.noticeList=通知列表;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater充气器=上下文。getLayoutInflater();
View listViewItem=充气机。充气(R.layout.layout\u View\u通知,父项,false);
TextView title=listViewItem.findViewById(R.id.title\u布局\u视图\u通知);
TextView date=listViewItem.findViewById(R.id.date\u layout\u view\u notices);
TextView notice=listViewItem.findViewById(R.id.notice\u layout\u view\u notices);
Notice noticeUpload=noticeList.get(位置);
if(noticeUpload!=null){
Log.i(“CollegeDialog”,String.valueOf(x));
title.setText(noticeUpload.getTitle());
notice.setText(noticeUpload.getNotice());
date.setText(noticeUpload.getD()+“-”+noticeUpload.getM()+“-”+noticeUpload.getY());
Log.i(“CollegeDialog”,“ADAPTER=“+title.getText().toString()+”\n“+notice.getText().toString()+”\n“+date.getText().toString());
x++;
}否则{
Log.i(“学院日记”,“空”);
}
返回listViewItem;
}
}
layout\u view\u notices.xml文件
您的第一件物品还可以。他就在actionBar后面 试着换一下水管 线性布局 到 相对论 到appBarLayout添加id字段 并添加到listview
android:layout_below="@+id/appBarLayoutId"
毕竟应该没问题
或添加到listview
topMargin=?属性/操作栏大小“
peter这两个组件都在线性布局中,所以为什么会发生这种情况我有点困惑,你能解释一下吗?我不确定,我没有使用AppBarLayout。但我认为行AppBarOverlayout中的问题现在更多的是在从relativelayout切换回linearlayout和“Clean Project”任务之后,现在它也可以与线性布局一起工作。。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.collegecoder.collegediary.activity.FacultyViewNoticeActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_FacultyViewNoticeActivity"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<ListView
android:id="@+id/listViewNotice_FacultyViewNoticeActivity"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
public class FacultyViewNoticeAdapter extends ArrayAdapter {
private Activity context;
private List<Notice> noticeList;
private static int x = 0;
public FacultyViewNoticeAdapter(Activity context, List<Notice> noticeList) {
super(context, R.layout.layout_view_notices, noticeList);
this.context = context;
this.noticeList = noticeList;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View listViewItem = inflater.inflate(R.layout.layout_view_notices, parent, false);
TextView title = listViewItem.findViewById(R.id.title_layout_view_notices);
TextView date = listViewItem.findViewById(R.id.date_layout_view_notices);
TextView notice = listViewItem.findViewById(R.id.notice_layout_view_notices);
Notice noticeUpload = noticeList.get(position);
if (noticeUpload != null) {
Log.i("CollegeDiary", String.valueOf(x));
title.setText(noticeUpload.getTitle());
notice.setText(noticeUpload.getNotice());
date.setText(noticeUpload.getD() + "-" + noticeUpload.getM() + "-" + noticeUpload.getY());
Log.i("CollegeDiary", "ADAPTER = " + title.getText().toString() + "\n" + notice.getText().toString() + "\n" + date.getText().toString());
x++;
} else {
Log.i("CollegeDiary", "null");
}
return listViewItem;
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="5dp">
<TextView
android:id="@+id/title_layout_view_notices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="totle"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="20sp" />
<TextView
android:id="@+id/date_layout_view_notices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Date" />
<TextView
android:id="@+id/notice_layout_view_notices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="description"
android:textSize="16sp" />
android:layout_below="@+id/appBarLayoutId"