Android 是否可以在cardview或recyclerview中使webview响应?

Android 是否可以在cardview或recyclerview中使webview响应?,android,android-layout,Android,Android Layout,MainActivity.java import android.content.Context; 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

MainActivity.java

import android.content.Context;
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 com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.Volley;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

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

public class MainActivity extends AppCompatActivity {
    Context mContext;
    RecyclerView recyclerView;
    RecyclerView.LayoutManager layoutManager;
    Button start;
   // TextView textView;
    RequestQueue requestQueue;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        start = (Button)findViewById(R.id.button);
        requestQueue = Volley.newRequestQueue(this);
        start.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(final View view) {
                JsonArrayRequest jsonObjectRequest = new JsonArrayRequest(Request.Method.GET, "http://192.168.0.103:3001", new Response.Listener<JSONArray>() {

                    @Override
                    public void onResponse(JSONArray response) {
                        try {
                            System.out.println(response);
                            for(int i = 0; i < response.length();i++){

                                JSONObject json_res = response.getJSONObject(i);

                                RecyclerAdapter.embed_html.add(json_res.getString("v.embed_html"));

                            }

                        //Recycler View Setup
                        recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
                        layoutManager = new LinearLayoutManager(MainActivity.this);
                        recyclerView.setLayoutManager(layoutManager);
                        RecyclerAdapter adapter = new RecyclerAdapter(getApplicationContext());
                        recyclerView.setAdapter(adapter);
                        }catch (JSONException e){
                            e.printStackTrace();
                            System.out.println(e);                        }
                    }
                    },
                    new Response.ErrorListener(){
                        @Override
                                public void onErrorResponse(VolleyError error){
                                    System.out.println(error);
                        }
                }
                );
               requestQueue.add(jsonObjectRequest);
            }
        });

    }
}
导入android.content.Context;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.LinearLayoutManager;
导入android.support.v7.widget.RecyclerView;
导入android.view.view;
导入android.widget.Button;
导入com.android.volley.Request;
导入com.android.volley.RequestQueue;
导入com.android.volley.Response;
导入com.android.volley.VolleyError;
导入com.android.volley.toolbox.JsonArrayRequest;
导入com.android.volley.toolbox.volley;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入java.util.ArrayList;
导入java.util.List;
公共类MainActivity扩展了AppCompatActivity{
语境;
回收视图回收视图;
RecyclerView.LayoutManager LayoutManager;
按钮启动;
//文本视图文本视图;
请求队列请求队列;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
开始=(按钮)findViewById(R.id.Button);
requestQueue=Volley.newRequestQueue(this);
start.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(最终视图){
JsonArrayRequest jsonObjectRequest=新的JsonArrayRequest(Request.Method.GET)http://192.168.0.103:3001,新的响应。侦听器(){
@凌驾
公共void onResponse(JSONArray响应){
试一试{
System.out.println(响应);
对于(int i=0;i
RecyclerAdapter.java

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import newsee.novasyslabs.com.nodefetch.Others.CircularTransform;

import com.squareup.picasso.MemoryPolicy;
import com.squareup.picasso.Picasso;

import java.io.File;
import java.util.ArrayList;

public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder> {
    Context mContext;
    public static ArrayList <String> embed_html = new ArrayList<>();

    public RecyclerAdapter(Context mContext){
        this.mContext = mContext;
    }

    class ViewHolder extends RecyclerView.ViewHolder{


        WebView webView;
        public ViewHolder(View itemView) {
            super(itemView);
            this.webView = (WebView) itemView.findViewById(R.id.web);

        }
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View v = LayoutInflater.from(viewGroup.getContext())
                .inflate(R.layout.layout_card, viewGroup, false);
        ViewHolder viewHolder = new ViewHolder(v);
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(final ViewHolder holder, final int position) {
            holder.webView.getSettings().setJavaScriptEnabled(true);
            holder.webView.loadData(embed_html.get(position), "text/html", "utf-8");

        }
    @Override
    public int getItemCount() {
        return embed_html.size();
    }
}
导入android.content.Context;
导入android.support.v7.widget.RecyclerView;
导入android.view.LayoutInflater;
导入android.view.MotionEvent;
导入android.view.view;
导入android.view.ViewGroup;
导入android.webkit.WebView;
导入android.widget.ImageView;
导入android.widget.TextView;
导入android.widget.Toast;
导入newsee.novasyslabs.com.nodefetch.Others.CircularTransform;
导入com.squareup.picasso.MemoryPolicy;
导入com.squareup.picasso.picasso;
导入java.io.File;
导入java.util.ArrayList;
公共类RecyclerAdapter扩展了RecyclerView.Adapter{
语境;
publicstaticarraylistembed_html=newarraylist();
公共回收适配器(上下文mContext){
this.mContext=mContext;
}
类ViewHolder扩展了RecyclerView.ViewHolder{
网络视图;
公共视图持有者(视图项视图){
超级(项目视图);
this.webView=(webView)itemView.findviewbyd(R.id.web);
}
}
@凌驾
公共视图持有者onCreateViewHolder(视图组视图组,int i){
视图v=LayoutInflater.from(viewGroup.getContext())
.充气(R.layout.layout_卡、视图组、假);
视窗夹持器视窗夹持器=新视窗夹持器(v);
返回视图持有者;
}
@凌驾
公共无效onBindViewHolder(最终视图持有人,最终整型位置){
holder.webView.getSettings().setJavaScriptEnabled(true);
holder.webView.loadData(embed_html.get(position),“text/html”,“utf-8”);
}
@凌驾
public int getItemCount(){
返回embed_html.size();
}
}
activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="newsee.novasyslabs.com.nodefetch.MainActivity">

    <Button
        android:text="Request"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/button"
        android:layout_alignStart="@+id/appBarLayout"
        />


    <android.support.design.widget.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:id="@+id/appBarLayout" />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/appBarLayout"
        android:layout_marginTop="82dp"
        />


</RelativeLayout>


我认为您的
Webview
在屏幕大小范围内。webview中显示的内容将退出屏幕。除非你能控制网站,否则你不能做任何事情。实际上我只是传递视频链接。他们有没有任何选项可以帮助我做我想做的事。你能在小手机上显示开发者启用的
显示布局边界的图像和你正在设置的html示例吗?单击此处查看图像单击图片@黑豹
<?xml version="1.0" encoding="utf-8" ?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
  >
            <WebView
                android:id="@+id/web"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:background="#000000"
                android:layout_alignParentTop="true"
                />

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