一、使用碎片来进行一个最佳实践,即我们写一个新闻的app
1.首先先建立一个新闻类
packagecom.example.fragmentbestpractice;
publicclassNews{
privateStringtitle;
privateStringcontent;
publicStringgetTitle(){
returntitle;
}
publicvoidsetTitle(Stringtitle){
this.title=title;
}
publicStringgetContent(){
returncontent;
}
publicvoidsetContent(Stringcontent){
this.content=content;
}
}
2.然后我们设置一个界面,也就是显示新闻的界面
<?xmlversion=”1.0″encoding=”utf-8″?>
<LinearLayoutxmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:orientation=”vertical”>
<TextView
android:id=”@+id/news_title”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:singleLine=”true”
android:ellipsize=”end”
android:textSize=”18sp”
android:paddingLeft=”10dp”
android:paddingRight=”10dp”
android:paddingTop=”15dp”
android:paddingBottom=”15dp”
/>
</LinearLayout>
这里面有几个新的属性设置是我们之前没有见到过的,首先来看android:singLine设置为true代表的就是TextView只能单行显示;android:ellipse用于设定当文本内容超出控件的宽度的时候,文本的缩略方式,这里指定成end表示在尾部进行缩略?。
3.接下来需要创建一个新闻列表的适配器,让这个适配器继承自ArrayAdapter,并将泛型指定为News类,下面我们新建NewsAdapter
packagecom.example.fragmentbestpractice;
importjava.util.List;
importandroid.content.Context;
importandroid.view.LayoutInflater;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.ArrayAdapter;
importandroid.widget.TextView;
publicclassNewsAdapterextendsArrayAdapter<News>{
privateintresourceId;
publicNewsAdapter(Contextcontext,inttextViewResourceId,List<News>objects){
super(context,textViewResourceId,objects);
resourceId=textViewResourceId;
}
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
Newsnews=getItem(position);
Viewview;
if(convertView==null){
view=LayoutInflater.from(getContext()).inflate(resourceId,null);
}else{
view=convertView;
}
TextViewnewsTitleText=(TextView)view.findViewById(R.id.news_title);
newsTitleText.setText(news.getTitle());
returnview;
}
}
可以看出来,在getView()方法中,我们获取到了相应位置上的News类,并且让新闻的标题在列表中?进行显示。
4.编写新闻内容部分的代码
<?xmlversion=”1.0″encoding=”utf-8″?>
<RelativeLayoutxmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”>
<LinearLayout
android:id=”@+id/visibility_layout”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:orientation=”vertical”
android:visibility=”invisible”>
<TextView
android:id=”@+id/news_title”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:gravity=”center”
android:padding=”10dp”
android:textSize=”20sp”/>
<ImageView
android:layout_width=”match_parent”
android:layout_height=”1dp”
android:scaleType=”fitXY”
android:src=”@drawable/split_line”/>
<TextView
android:id=”@+id/news_content”
android:layout_width=”match_parent”
android:layout_height=”0dp”
android:layout_weight=”1″
android:padding=”15dp”
android:textSize=”18sp”/>
</LinearLayout>
<ImageView
android:layout_width=”1dp”
android:layout_height=”match_parent”
android:layout_alignParentLeft=”true”
android:scaleType=”fitXY”
android:src=”@drawable/split_line_vertical”/>
</RelativeLayout>
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com