简体   繁体   English

RecyclerView没有LayoutManager android.support.v7.widget.RecyclerView

[英]RecyclerView has no LayoutManager android.support.v7.widget.RecyclerView

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.liliyu.easyresumebuilder, PID: 11145
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.liliyu.easyresumebuilder/com.example.liliyu.easyresumebuilder.MainActivity}: android.view.InflateException: Binary XML file line #10: RecyclerView has no LayoutManager android.support.v7.widget.RecyclerView{df7f7c9 VFED..... ......I. 0,0-0,0 #7f070061 app:id/main_activity1}, adapter:null, layout:null, context:com.example.liliyu.easyresumebuilder.MainActivity@2857d33
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2434)

activity_main.xml activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
    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:id="@+id/main_activity1"
    tools:context="com.example.liliyu.easyresumebuilder.MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/spacing_medium"
        android:orientation="vertical">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <LinearLayout
                android:id="@+id/user_name_layout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="@dimen/spacing_small"
                android:layout_alignParentLeft="true"
                android:layout_toLeftOf="@+id/user_picture"
                android:gravity="center_vertical">

                <TextView
                    android:id="@+id/name"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="@dimen/caption_text_size"
                    tools:text="Your name" />

            </LinearLayout>

            <TextView
                android:id="@+id/email"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_below="@+id/user_name_layout"
                android:layout_toLeftOf="@+id/user_picture"
                tools:text="Your email" />

        </RelativeLayout>                

    </LinearLayout>

</android.support.v7.widget.RecyclerView>

MainActivity.java MainActivity.java

@SuppressWarnings("ConstantConditions")
public class MainActivity extends AppCompatActivity {

    private BasicInfo basicInfo;
    private RecyclerView recyclerView  = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        loadData();
        setupUI();
    }

    private void setupUI() {
        setContentView(R.layout.activity_main);
        recyclerView  = (RecyclerView) findViewById(R.id.main_activity1);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        setupBasicInfo();

    }

    private void setupBasicInfo() {
        ((TextView) findViewById(R.id.name)).setText(TextUtils.isEmpty(basicInfo.name)
                ? "Your name"
                : basicInfo.name);
        ((TextView) findViewById(R.id.email)).setText(TextUtils.isEmpty(basicInfo.email)
                ? "Your email"
                : basicInfo.email);

        ImageView userPicture = (ImageView) findViewById(R.id.user_picture);
        if (basicInfo.imageUri != null) {
            ImageUtils.loadImage(this, basicInfo.imageUri, userPicture);
        } else {
            userPicture.setImageResource(R.drawable.user_ghost);
        }

        findViewById(R.id.edit_basic_info).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, BasicInfoEditActivity.class);
                intent.putExtra(BasicInfoEditActivity.KEY_BASIC_INFO, basicInfo);
                startActivityForResult(intent, REQ_CODE_EDIT_BASIC_INFO);
            }
        });
    }

      private void loadData() {
       connectAndGetApiData();
       basicInfo = basicInfo == null ? new BasicInfo() : basicInfo;
      }


    public void connectAndGetApiData() {
        if (retrofit == null) {
            retrofit = new Retrofit.Builder()
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();
        }
        ResumeService resumeService=retrofit.create(ResumeService.class);
        Call<Resume> call =resumeService.getResume();
        try {
            call.enqueue(new Callback<Resume>() {
                @Override
                public void onResponse(Call<Resume> call, Response<Resume> response) {
                    recyclerView.setAdapter(new ResumeAdapter(getApplicationContext(),response.body()));

                }

                @Override
                public void onFailure(Call<Resume> call, Throwable throwable) {
                    System.out.println(throwable.toString());
                }
            });
        }catch(Throwable e){
            e.printStackTrace();
        }

    }
}

You can't put children inside a RecyclerView in XML. 您不能将孩子放在XML的RecyclerView中。 It looks like what you have there currently is what you want to be in your ViewHolder . 看起来您当前拥有的是ViewHolder想要的ViewHolder That's not how to do it. 那不是怎么做。

Make a new layout XML file and move what's wrapped in your RecyclerView into that file. 制作一个新的布局XML文件,并将包装在RecyclerView移动到该文件中。

   <?xml version="1.0" encoding="utf-8"?>
    <android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/main_activity1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">   

    //delete all elements 
    </android.support.v7.widget.RecyclerView

>

在您的RecyclerView中添加parentLayout(可以是LinearLayout),然后从RecyclerView中删除子级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 &#39;布尔android.support.v7.widget.RecyclerView $ LayoutManager.canScrollVertically()&#39; - 'boolean android.support.v7.widget.RecyclerView$LayoutManager.canScrollVertically()' 尝试调用虚方法 &#39;void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager - Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager 无法导入导入android.support.v7.widget.RecyclerView; - Cannot import import android.support.v7.widget.RecyclerView; 找不到以下类: - android.support.v7.widget.RecyclerView - The following classes could not be found: - android.support.v7.widget.RecyclerView android.support.v7.widget.RecyclerView无法实例化 - android.support.v7.widget.RecyclerView failed to instantiate eclipse中无法启动android.support.v7.widget.Recyclerview错误 - android.support.v7.widget.Recyclerview could not be initiated error in eclipse android.support.v4.widget.NestedScrollView无法转换为android.support.v7.widget.RecyclerView - android.support.v4.widget.NestedScrollView cannot be cast to android.support.v7.widget.RecyclerView android.support.v7.widget.RecyclerView无法强制转换为android.widget.ListView - android.support.v7.widget.RecyclerView cannot be cast to android.widget.ListView android.widget.LinearLayout 不能转换为 android.support.v7.widget.RecyclerView - android.widget.LinearLayout cannot be cast to android.support.v7.widget.RecyclerView 无法启动活动 ComponentInfo - android.view.InflateException - android.support.v7.widget.RecyclerView - Unable to start activity ComponentInfo - android.view.InflateException - android.support.v7.widget.RecyclerView
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM