我在LinearLayout中有两个ImageView,一个文本字段和一个WebView。我的ImageView监听器无法正常工作。这是我的XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_main"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="back"
android:adjustViewBounds="true"
android:clickable="true"
android:src="@drawable/back_icon" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:clickable="true"
android:contentDescription="forward"
android:src="@drawable/back_icon"/>
<EditText
android:id="@+id/adressBar"
android:imeOptions="actionDone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:ems="10" >
</EditText>
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
这是我的Java代码。我应该指出Log.d语句没有触发,因此绝对不会被调用:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (savedInstanceState == null) {
L.d(">>onCreateView", "savedInstanceState null");
}
View v = inflater.inflate(R.layout.browser,null);
mWebView = (WebView) v.findViewById(R.id.webView);
back =(ImageView) v.findViewById(R.id.imageView1);
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("backkkkkkkkkkkkkkkk", "msg");
}
});
return v;
}
答案 0 :(得分:1)
试试这个
v = inflater.inflate(R.layout.browser, container, false);
ImageView back = (ImageView)findViewById(R.id.imageVIew1);
back.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Log.d("backkkkkkkkkkkkkkkk", "msg");
}
});
答案 1 :(得分:0)
您需要像
那样夸大视图v = inflater.inflate(R.layout.browser, container, false);
back =(ImageView) v.findViewById(R.id.imageView1);
back.setOnClickListener(new View.OnClickListener())
{
..
}
答案 2 :(得分:0)
试试这个 -
back.setOnClickListener(this);
并实现onclicklistener ..
答案 3 :(得分:0)
为xml文件中的所有视图设置为focusable false。或者片段中的onActivityCreated()方法中的imageview的setOnClickListener。
答案 4 :(得分:0)
我遇到了类似问题,并通过添加{{1}}来修复此问题,以确保用户有足够的区域点击。然后,您可以按照您想要的方式对齐图像内容。就我而言:
{{1}}