0
回答
控制台显示Recyclerview adapter No adapter attched skipping layout
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

按照网上的方法试了试,不管是item的布局还是Recycler.adapter都认真检查了一遍 还是没能发现有什么不对 求各位大神指教, 现代码如下:

Recyclerview布局

<LinearLayout
    android:id="@+id/line1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Rl_action"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    >

    <TextView
        android:id="@+id/Tv_biaoti"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:gravity="center"
        android:textColor="#000000"
        android:textSize="30dp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/Tv_author"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:gravity="center"
        android:textColor="#000000"
        android:textSize="30dp"
        android:textStyle="bold"/>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/Rl_list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>
adapter

public class Recycleradapter extends RecyclerView.Adapter {
    Context context;
    List list;
    Myviewholder viewHolder;

    public Recycleradapter(Context context, List list) {
        this.context = context;
        this.list = list;
    }
//对时间异常敏感 一切耗时操作都要放到setadapter之前
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        viewHolder = new Myviewholder(LayoutInflater.from(context).inflate(R.layout.item, null));


        return viewHolder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        //手动绑定控件
        viewHolder.tv= (TextView) viewHolder.itemView.findViewById(R.id.Tv_result);
        //字体设置
        String fontPath = "fonts/xingshu.ttf";
        Typeface tf=Typeface.createFromAsset(context.getAssets(),fontPath);
        viewHolder.tv.setTypeface(tf);
        viewHolder.tv.setText(list.get(position).toString());

    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    public class Myviewholder extends RecyclerView.ViewHolder {
        TextView tv;


        public Myviewholder(View itemView) {
            super(itemView);
        }
    }
}
activity

package com.example.joy.testlistview;

import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;

import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
import com.example.joy.testlistview.base.Dailybean;
import com.example.joy.testlistview.base.Poem;
import com.google.gson.Gson;
import com.wang.avi.AVLoadingIndicatorView;

import org.json.JSONObject;
import org.litepal.LitePal;

import java.util.ArrayList;
import java.util.List;

import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;

public class MainActivity extends AppCompatActivity {
    String url = "http://api.avatardata.cn/TangShiSongCi/Random?key=3ab8c0cceaa349fdaae2fc327b409d57";

    RequestQueue queue;
    JsonObjectRequest objectRequest;


    //定义集合
    List<String> list;
    Recycleradapter Radapter;
    @InjectView(R.id.Rl_list)
    RecyclerView RlList;
    @InjectView(R.id.Tv_note)
    TextView TvNote;
    @InjectView(R.id.Tv_biaoti)
    TextView TvBiaoti;
    @InjectView(R.id.Tv_author)
    TextView TvAuthor;
    @InjectView(R.id.avi)
    AVLoadingIndicatorView avi;
    @InjectView(R.id.line1)
    LinearLayout line1;
    @InjectView(R.id.btn_all_poetry)
    Button btnAllPoetry;
    @InjectView(R.id.btn_return_info)
    Switch btnReturnInfo;
    String biaoti;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.inject(this);
        avi.show();
        LitePal.getDatabase();
        //字体设置
        String fontPath = "fonts/xingshu.ttf";
        //进度条设置
        //设置横向滚动
//        RlList.setLayoutManager(new StaggeredGridLayoutManager(1, LinearLayoutManager.HORIZONTAL));
        LinearLayoutManager layoutManager = new LinearLayoutManager(this);
        layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        RlList.setLayoutManager(layoutManager);

        Typeface tf = Typeface.createFromAsset(getAssets(), fontPath);
        TvBiaoti.setTypeface(tf);

        //volley方法
        Volleyjiexi();
        //查询第一条语句
        btnAllPoetry.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, CollectActivity.class);
                startActivity(intent);
            }
        });
        btnReturnInfo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                ChangeTrad changeTrad = new ChangeTrad();
                if (isChecked) {
                    biaoti = changeTrad.changeTraditional(biaoti);
                    TvBiaoti.setText(biaoti.toString());

                } else {
                    biaoti = changeTrad.changesimplified(biaoti);
                    TvBiaoti.setText(biaoti);
                }
            }
        });

    }

    public void tianjia(String biaoti, String jieshao, String zuozhe, String neirong) {
        //建立数据库
        Poem poem = new Poem();
        poem.setBiaoti(biaoti);
        poem.setZuozhe(jieshao);
        poem.setJieshao(zuozhe);
        poem.setNeirong(neirong);
        poem.save();

    }

    //volley解析
    public void Volleyjiexi() {
        //volley请求
        queue = Volley.newRequestQueue(this);
        objectRequest = new JsonObjectRequest(url, null, new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject jsonObject) {
                //gson解析
                Gson gson = new Gson();
                Dailybean dailybean = gson.fromJson(String.valueOf(jsonObject), Dailybean.class);
                //chulibiaoti
                biaoti = xiugai(dailybean.getResult().getBiaoti().toString());
                TvBiaoti.setText(biaoti);
                TvAuthor.setText(dailybean.getResult().getZuozhe().toString());
                TvNote.setText(dailybean.getResult().getJieshao().toString());
                list = new ArrayList();
                String neirong = dailybean.getResult().getNeirong().toString();
                //去掉文本中的【】 {} ()符号中的内容
                String s = xiugai(neirong).trim();

                //将文本按照标点符号分为数组
                String[] temp = s.split(",|。|;|!");
                for (int i = 0; i < temp.length; i++) {
                    list.add(temp[i]);
//                    Toast.makeText(MainActivity.this, "" + temp[i], Toast.LENGTH_SHORT).show();
                }
                tianjia(dailybean.getResult().getBiaoti().toString(), dailybean.getResult().getZuozhe().toString(),
                        dailybean.getResult().getJieshao().toString(), s);

                Radapter = new Recycleradapter(getApplicationContext(), list);

                RlList.setAdapter(Radapter);

                avi.hide();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {

            }
        });
        objectRequest.setTag("Tag1");
        queue.add(objectRequest);
    }

    //修改文本方法 去掉文本中的【】 {} ()符号中的内容
    public String xiugai(String str) {
        boolean b = true;

        StringBuffer sb = new StringBuffer(str);
        StringBuffer sb2 = new StringBuffer();
        for (int i = 0; i < sb.length(); i++) {

            if (sb.charAt(i) == '[' || sb.charAt(i) == '【' || sb.charAt(i) == '(') {
                b = false;
            }
            if (b) {
                sb2.append(sb.charAt(i));
            }
            if (sb.charAt(i) == ']' || sb.charAt(i) == '】' || sb.charAt(i) == ')') {
                b = true;
            }

        }
        return String.valueOf(sb2);
    }


    @Override
    protected void onStop() {
        queue.cancelAll("Tag1");
        super.onStop();
    }

    @OnClick(R.id.btn_all_poetry)
    public void onViewClicked() {
        Intent intent = new Intent(this, CollectActivity.class);
        startActivity(intent);

    }
}

<无标签>
举报
哎嘿嘿
发帖于9个月前 0回/230阅
顶部