问题就在这里:我创建了世界上最简单的RecyclerView,但它只显示第一个项目。我不明白为什么。谢谢你的帮助。
item_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tv_detail"/>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.bcit.moonlady.testrecycler.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/tv_hello"/>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="300dp"
android:id="@+id/rv_details"
android:layout_below="@+id/tv_hello"/>
</RelativeLayout>
mainactivity.java
package com.bcit.moonlady.testrecycler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
String[] data = {"test1", "test2", "test3"};
RecyclerView mRecView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecView = (RecyclerView)findViewById(R.id.rv_details);
mRecView.setHasFixedSize(true);
mRecView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
mRecView.setAdapter(new DetailAdapter());
}
private class DetailView extends RecyclerView.ViewHolder {
TextView mTextView;
public DetailView(View itemView) {
super(itemView);
mTextView = (TextView)itemView.findViewById(R.id.tv_detail);
}
public void bindView(String string) {
mTextView.setText(string);
}
}
private class DetailAdapter extends RecyclerView.Adapter<DetailView> {
@Override
public DetailView onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
View v = layoutInflater.inflate(R.layout.item_layout, parent, false);
return new DetailView(v);
}
@Override
public void onBindViewHolder(DetailView holder, int position) {
String string = data[position];
holder.bindView(string);
}
@Override
public int getItemCount() {
return data.length;
}
}
}
如果您使用的是Android Support Library v23.2.0或更高版本,则需要将item_layout高度更改为wrap_content
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tv_detail"/>
</RelativeLayout>
最后是我的适配器类
问题内容: 如何只显示第一个角元素? 我正在这样使用: 但是由于我没有重复,所以我不必使用吗?我如何才能只显示第一个,而不必进行ng-repeat? 问题答案: 不要使用ng-repeat指令,这应该可以工作:
我有一个RecycerView,它将在设备中安装apk,并与cardview排序,因为标题说我想只在第一个cardview项上显示特定的文本(RecycerView viewholder)
我遵循了以下线程中接受的答案(来自@kcoppock)中的步骤。https://stackoverflow.com/a/15264039/3296263 或网格视图,包含两列和自动调整大小的图像 编辑:这是代码。网格视图代码: 网格项布局:main_category_list_content.xml 自定义SquareImageView类: 适配器代码: 我设置适配器的活动代码 我没有显示所有6个
这里是ICS文件内容: 在雷鸟和Gmail中,我只能看到第一个(按顺序)事件。这是邮件客户端的正常行为吗?我应该为每个VEVENT创建单独的. ics文件,然后用单个邮件发送吗?提前感谢帮助!
我正在使用ffmpeg将视频按帧分割。对于25fps的视频,我的期望是,它将显示0帧40毫秒,然后显示1帧40毫秒,等等。然而,当我使用ffmepg分析视频时,这不是我得到的结果。 我使用以下命令从视频中提取帧: 在这种情况下,我希望和是相同的帧,但是生成的pngs是不同的。然而,另一方面,和是相同的帧,而和是不同的帧。似乎的帧只显示1ms。我在多个不同的视频上测试过这个,结果一致。有人能解释为什