一次点击;ImageView";在android中不会产生任何动作
我的活动中有两个版面,如果单击第一个版面中的ImageView“show”,第二个版面应该会显示,但在这里它没有发生,已经进行了编码更正,但无法解决此问题 这是我的密码一次点击;ImageView";在android中不会产生任何动作,android,layout,widget,onclick,imageview,Android,Layout,Widget,Onclick,Imageview,我的活动中有两个版面,如果单击第一个版面中的ImageView“show”,第二个版面应该会显示,但在这里它没有发生,已经进行了编码更正,但无法解决此问题 这是我的密码 public class About extends Activity { LinearLayout line1, line2; ImageView show; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(sa
public class About extends Activity {
LinearLayout line1, line2;
ImageView show;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
line1=(LinearLayout) findViewById(R.id.ll1);
line2=(LinearLayout)findViewById(R.id.ll2);
show=(ImageView)findViewById(R.id.ss);
show.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
show.setVisibility(View.VISIBLE);
// TODO Auto-generated method stub
line1.setVisibility(View.VISIBLE);
if (line2.getVisibility() == View.INVISIBLE || line2.getVisibility() == View.GONE) {
line2.setVisibility(View.VISIBLE); }
else {
line2.setVisibility(View.INVISIBLE);
}
}
});
Xml布局
<RelativeLayout 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:background="@color/black" >
<LinearLayout
android:id="@+id/ll1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/black"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true">
<ImageView
android:id="@+id/ss"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/menu"
android:clickable="true" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll2"
android:layout_width="199dp"
android:layout_height="wrap_content"
android:background="@color/black"
android:layout_toRightOf="@+id/ll1"
android:visibility="gone"
>
<ImageView
android:id="@+id/about"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_above="@+id/textView1"
android:layout_toLeftOf="@+id/jobs"
android:src="@drawable/about" />
<ImageView
android:id="@+id/jobs"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/jobs" />
<ImageView
android:id="@+id/log"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/log" />
<ImageView
android:id="@+id/home"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/home" />
</LinearLayout>
</RelativeLayout>
对于xml格式的图像视图“ss”,请设置属性android:clickable=“true” 或者最好使用
ImageButton
代替xml中的ImageView
编辑-
改变这个
show=(ImageView)findviewbyd(R.id.ss)代码>
到
show=(ImageView)findviewbyd(R.id.show)
您错误地定义了图像视图的id
,这就是您无法获取图像视图的onClick事件的原因
除了R.id.ss
之外,将ImageView
的id更改为R.id.show
,如下所示:
改变这个
show=(ImageView)findViewById(R.id.ss);
到
编辑:
尝试在onClick侦听器中显示和隐藏布局,如下所示
为什么要将“show”的可见性设置为在onClick()中可见?如果你做得不好,我觉得可见性可能会有问题。发布布局代码?我认为图像视图所在布局的可见性已设置为不可见或消失。图像视图存在于哪个布局中?我在以前的活动中使用过这段代码,它可以正常工作@Grishuin布局imageview是可见的,而且我已经实现了同样的代码,它工作正常there@Kameswariyes我在xml中设置了android:clickable=“true”,但@EnigmaI没有改变答案。请检查。我已经编辑了show=(ImageView)findviewbyd(R.id.ss);nw在xml中发生了变化nw两个id都是相同的,但仍然存在相同的问题@GrishuA视图如何显示的屏幕截图在这里可能会有所帮助。
show=(ImageView)findViewById(R.id.show);
if (line2.getVisibility() == View.INVISIBLE || line2.getVisibility() == View.GONE) {
line2.setVisibility(View.VISIBLE);
line1.setVisibility(View.INVISIBLE);
}
else {
line2.setVisibility(View.INVISIBLE);
line1.setVisibility(View.VISIBLE);
}