我在Android Studio中创建了一个显示CardView
的布局,并且在每个CardView
中都有一个TextView
小部件和一个WebView
小部件。
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="280dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_margin="2dp"
app:cardCornerRadius="6dp"
android:gravity="center">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/linearLayout_id"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground">
<WebView
android:id="@+id/card_web_id"
android:layout_gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="240dp"/>
<TextView
android:id="@+id/card_title_id"
android:textColor="#2d2d2d"
android:gravity="center"
android:textSize="17dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Title"/>
</LinearLayout>
</android.support.v7.widget.CardView>
我试图将监听器添加到LinearLayout和CardView中。
holder.linearLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(mContext,Film_Activity.class);
intent.putExtra("url", mData.get(position).getUrlPic_Poster());
mContext.startActivity(intent);
}
});
最后,如果我单击Web视图(仅是图像)没有任何反应,则必须单击“布局”的文本或边框以启动新活动。
我希望cardView上的任何触摸都可以启动新活动,因此我必须使Webview可以单击,但这对我不起作用。
我已经对网络视图进行了一些设置;
String html = "<html><body><img src=\"" + mData.get(position).getUrlPic_Poster() + "\" width=\"100%\" height=\"100%\"\"/>
</body></html>";
holder.webView.loadData(html, "text/html", null);
holder.webView.setVerticalScrollBarEnabled(false);
holder.webView.setHorizontalScrollBarEnabled(false);
holder.webView.getSettings().setBuiltInZoomControls(false);
holder.webView.getSettings().setSupportZoom(false);
holder.webView.getSettings().setAppCacheEnabled(true);
holder.webView.setFocusable(false);
holder.webView.setClickable(false);