- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 CardView 创建带有时事通讯的卡片列表。基本元素是 3 个 TextView + 1 个 ImageView。我无法正确膨胀 2 个元素:标题很好,但是链接文本得到了错误的字符串(它得到了引用正文文本的字符串)并且正文 TextView 根本没有改变。
Aeres 一张具有一般想法的图片:
preview on android studio (left) and app running on device(right)
这是我的 CardView XML 代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:context=".News">
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card1_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
card_view:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/news_title"
android:layout_width="match_parent"
android:layout_height="40dp"
android:paddingLeft="8dp"
android:text="articleTitle articleTitle articleTitle articleTitle articleTitle articleTitle articleTitle articleTitle articleTitle articleTitle articleTitle articleTitle articleTitle articleTitle "
android:textColor="#000000"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="6"
android:orientation="vertical">
<TextView
android:id="@+id/news_link"
android:layout_width="match_parent"
android:layout_height="25dp"
android:gravity="center_vertical"
android:paddingLeft="8dp"
android:text="http://www.articleLink.com/" />
<TextView
android:id="@+id/news_body"
android:layout_width="match_parent"
android:layout_height="120dp"
android:paddingLeft="8dp"
android:text="Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body Body ..."
android:textColor="#000000" />
</LinearLayout>
<ImageView
android:id="@+id/news_photoId"
android:layout_width="0dp"
android:layout_height="145dp"
android:layout_weight="5"
android:src="@drawable/enfnotum" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="20dp"
android:gravity="end"
android:paddingEnd="6dp"
android:paddingRight="6dp"
android:text="Coments Share" />
<TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#bab7b7" />
</LinearLayout>
</android.support.v7.widget.CardView>
RecycleView 列表布局 XML 代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".News">
<android.support.v7.widget.RecyclerView
android:id="@+id/rv"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
现在是java类:这里我正在填充列表,调用适配器
public class News extends AppCompatActivity {
private List<Article> articles = new ArrayList<>();
private RecyclerView rv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_news);
rv = (RecyclerView) findViewById(R.id.rv);
LinearLayoutManager llm = new LinearLayoutManager(this);
rv.setLayoutManager(llm);
initializeData();
initializeAdapter();
}
private void initializeData() {
articles.add(new Article("0title", "0link", "0body", R.drawable.enfnotum));
articles.add(new Article("1title", "1link", "1body", R.drawable.enfnoticias));
articles.add(new Article("2title", "2link", "2body", R.drawable.image1));
articles.add(new Article("3title", "3link", "3body", R.drawable.image2));
articles.add(new Article("4title", "4link", "4body", R.drawable.image3));
articles.add(new Article("5title", "5link", "5body", R.drawable.enfnotum));
articles.add(new Article("6title", "6link", "6body", R.drawable.image3));
articles.add(new Article("7title", "7link", "7body", R.drawable.enfnoticias));
//TODO: database
}
private void initializeAdapter() {
NewsRVAdapter adapter = new NewsRVAdapter(articles);
rv.setAdapter(adapter);
}
}
我创建列表对象的类,很少有 getter
public class Article {
private String articleTitle;
private String articleLink;
private String articleBody;
private int articlePhotoId;
public Article(String articleTitle, String articleLink, String articleBody, int articlePhotoId) {
this.articleTitle = articleTitle;
this.articleLink = articleLink;
this.articleBody = articleBody;
this.articlePhotoId = articlePhotoId;
}
public String getArticleTitle() {
return articleTitle;
}
public String getArticleLink() {
return articleLink;
}
public String getArticleBody() {
return articleBody;
}
public int getArticlePhotoId() {
return articlePhotoId;
}
}
inflated layout
public class NewsRVAdapter extends RecyclerView.Adapter<NewsRVAdapter.ArticleViewHolder> {
List<Article> articles;
NewsRVAdapter(List<Article> articles) {
this.articles = articles;
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
@Override
public ArticleViewHolder onCreateViewHolder(ViewGroup viewGroup, int position) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.news_item_list, viewGroup, false);
return new ArticleViewHolder(v);
}
@Override
public void onBindViewHolder(ArticleViewHolder ArticleViewHolder, int position) {
ArticleViewHolder.articleTitle.setText(articles.get(position).getArticleTitle());
ArticleViewHolder.articleLink.setText(articles.get(position).getArticleLink());
ArticleViewHolder.articleLink.setText(articles.get(position).getArticleBody());
ArticleViewHolder.articlePhotoID.setImageResource(articles.get(position).getArticlePhotoId());
}
@Override
public int getItemCount() {
return articles.size();
}
public static class ArticleViewHolder extends RecyclerView.ViewHolder {
CardView cv;
TextView articleTitle;
TextView articleLink;
TextView articleBody;
ImageView articlePhotoID;
ArticleViewHolder(View itemView) {
super(itemView);
cv = (CardView) itemView.findViewById(R.id.card1_view);
articleTitle = (TextView) itemView.findViewById(R.id.news_title);
articleLink = (TextView) itemView.findViewById(R.id.news_link);
articleBody = (TextView) itemView.findViewById(R.id.news_body);
articlePhotoID = (ImageView) itemView.findViewById(R.id.news_photoId);
}
}
}
最佳答案
看起来像是打字错误。尝试将您的 NewsRVAdapter
的 onBindViewHolder
替换为:
@Override
public void onBindViewHolder(ArticleViewHolder ArticleViewHolder, int position) {
ArticleViewHolder.articleTitle.setText(articles.get(position).getArticleTitle());
ArticleViewHolder.articleLink.setText(articles.get(position).getArticleLink());
ArticleViewHolder.articleBody.setText(articles.get(position).getArticleBody());
ArticleViewHolder.articlePhotoID.setImageResource(articles.get(position).getArticlePhotoId());
}
关于java - 回收站 View + 卡片 View : Inflating Wrong Data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37802619/
@ 目录 原理 创建过滤器 使用过滤器 查询 删除 恢复
我在回收站 View 中使用了一个 item.xml,但文本超出了屏幕。我试图依靠这个 answer , You can avoid all of this by giving each textvi
我的应用程序中有一个回收站 View 。每个回收器 View 项都有一个 imageView。我使用 asyncTask 加载位图并将它们添加到磁盘缓存,然后再将它们设置到 onPostExecute
我已经多次问过这个类似的问题,我花了 2 周多的时间才试图找出解决方案。是的,我知道有多个类似的问题,但我问的原因是因为堆栈上流的解决方案都不起作用。我是 Android 开发的初学者,因此我问你请帮
有谁知道允许特定角色的用户查看 Sitecore 回收站中所有项目的解决方案? 目前,只有管理员可以查看所有已删除的项目。用户只能看到他们已删除的项目。 最佳答案 没有开箱即用的方法,SqlArchi
您好,我有以下回收器适配器: package com.example.app.adapters; import android.annotation.TargetApi; import android
我看不到回收 View ,不确定哪里出了问题。如果你能帮助我,那就太好了。 fragment public class CallDurationFragment extends Fragment {
我是 android 开发的新手。我有一个带有 Viewholder 的 recyclerview 用于显示照片。我在我的应用程序中实现了 like 功能,但我面临的唯一问题是当我添加一个 喜欢 在照
我正在编写一个消息传递应用程序,在 RecyclerView 中显示我的消息和其他消息。 白色背景消息是我的消息,彩色消息是其他消息。 当每条消息顺序为“我的消息,其他消息,...”时,回收站 Vie
我创建了一个包含不同类型 subview 的社交帖子回收 View 。每个 child 多个 layout.recyclerview 工作正常,唯一的问题是 recyclerview 滚动不流畅。 我
我有一个像这样的 View 模型 - private val viewState = SchoolsViewState() fun onViewOpened() = Trans
我正在研究 Android 的应用程序接近完成它但我在 recyclerView 中发现了问题,我不知道如何在 recyclerView 的 Item 的 TextView 上实现点击监听器? (当我
我正在做一个 RecyclerView 示例。问题是,当我在列表中添加第一个项目时,它会在回收 View 中正确显示该项目,但我添加的下一个项目不会显示在回收 View 中。 请帮帮我。 适配器代码是
我想问一下我如何从适配器回收器 View 调用 Activity 中的方法。 在函数 buildRecyclerView 中设置适配器: private void buildRecyclerView(
这个问题在这里已经有了答案: Custom Adapter getView() method is not called (6 个答案) 关闭 6 年前。 我正在使用回收站 View ,但它没有显示
我有一个回收站 View ,我在其中显示了自定义行,但该行未填满宽度。我已经添加了 match_parent 宽度,但它仍然只是包装内容。 我的回收站 View -:
我一直在使用回收器 View 在我的 fragment 上显示 15 张图像。图像位于可绘制文件夹中。我尝试了外部 View 来执行此操作,但速度要慢得多并且滞后很多。因此我使用回收者 View 来解
我的问题是我希望回收站 View 响应对整个 View 的点击,而不是对回收站 View 具有的每个项目的单独点击 viewModel.handleClick()}"
以下是我的行项目的布局:
我正在处理 Recycler View ,在这里我将三个回收器 View 水平放置在布局中。问题是第二个和第三个回收器 View 项目显示但无法滚动,即使在内部使用嵌套滚动并特此附加xml。请建议我如
我是一名优秀的程序员,十分优秀!