请帮帮我。我正在使用Eclipse ADT进行开发。我遇到了问题,我无法修复。我在这个stackoverflow中尝试了很多答案,但没有人给出正确的解决方案。让我解释一下我的问题
E:\ SOFTWARE \ ADT-束 - 窗口x86_64-20140702 \ ADT-束 - 窗口x86_64-20140702 \ SDK \额外\机器人\支持\ V7 \ recyclerview
导入后,右键单击recyclerview项目 - >属性 - > android选项卡(从左侧窗格)---> make checked isLibrary复选框
然后因果关系,我在我的班级写了一个扩展片段的代码
公共类FragmentTab1扩展Fragment {
View view;
RecyclerView mRecyclerView;
TimelineAdapter timelineAdapter;
// ListView listView;
// RecyclerView mRecyclerView;
// RecyclerView.LayoutManager mLayoutManager;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Get the view from fragmenttab1.xml
try {
view = inflater.inflate(R.layout.fragmenttab1, container, false);
mRecyclerView = (RecyclerView) view
.findViewById(R.id.my_recycler_view);
mRecyclerView.setHasFixedSize(false);
mRecyclerView.setAdapter(new TimelineAdapter(getActivity()));
} catch (Exception e) {
// TODO: handle exception
Log.e("FragOne error ", "" + e.getMessage());
Log.e("FragOne error ", "" + e.getCause());
}
return view;
}
}
我已编写适配器类,并且100%确定没有错误。
当我看到布局xml文件时,我无法看到recyclerview。请参考下面的图片附件
请查看我的xml文件我写的内容
<FrameLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:fab="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/light_grey"
tools:context=".LoginFollowUsers" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/letterimg"
android:scrollbars="vertical" />
</LinearLayout>
我从support / v7 / recyclerview导入recyclerview项目后,我无法在src文件夹中看到任何文件..任何人都可以共享recyclelerview项目
请帮我解决这个问题
提前感谢所有
答案 0 :(得分:0)
您必须为RecyclerView显式设置LayoutManager:
mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity));
如果没有这个,RecyclerView将无法运行。
答案 1 :(得分:0)
新的android库需要JDK 8
设置JDK和JRE并尝试它将工作。!!!!
我有同样的问题,但在安装JDK 8
之后,它已经解决了
答案 2 :(得分:0)
您应该将recylerView
库添加到项目中。
右键单击项目资源管理器中的项目&gt;选择属性&gt;导航到左窗格中的android&gt;现在点击右窗格中的ADD按钮&gt;点击添加按钮后,您应添加recylerView
库。
在定义recylerView
时,您需要在java文件中添加以下代码。
mRecyclerView = (RecyclerView) view
.findViewById(R.id.my_recycler_view);
mRecyclerView.setLayoutManager(new LinearLayoutManager(
getActivity()));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
答案 3 :(得分:0)
您需要添加卡片视图以显示回收者视图项目。我正在发送示例代码。尝试一次。
Import cardview project from this path
E:\ SOFTWARE \ ADT-束 - 窗口x86_64-20140702 \ ADT-束 - 窗口x86_64-20140702 \ SDK \额外\机器人\支持\ V7 \ cardview
RecyclerView recList = (RecyclerView) view.findViewById(R.id.cardList);
recList.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
llm.setOrientation(LinearLayoutManager.VERTICAL);
recList.setLayoutManager(llm);
ArrayList<MyBean> myListItems = new ArrayList<MyBean>();
for (int i = 0; i < 5; i++) {
myListItems.add(new MyBean("item:"+i));
}
MyRecycleAdapter adapter = new MyRecycleAdapter(myListItems);
recList.setAdapter(adapter);
公共类MyRecycleAdapter扩展了RecyclerView.Adapter {
private List<MyBean> myItemsList;
public MyRecycleAdapter (List<MyBean> myItemsList) {
this.myItemsList = myItemsList;
}
@Override
public int getItemCount() {
return myItemsList.size();
}
@Override
public void onBindViewHolder(MyViewHolder viewHolder, int i) {
MyBean ci = myItemsList.get(i);
MyViewHolder.id.setText("" + ci.getId());
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View itemView = LayoutInflater.from(viewGroup.getContext()).inflate(
R.layout.mycardview, viewGroup, false);
return new MyViewHolder(itemView);
}
public static class MyViewHolder extends RecyclerView.ViewHolder {
protected TextView id;
public MyViewHolder(View v) {
super(v);
id = (TextView) v.findViewById(R.id.textView1);
}
}
}
只需一个textview。