2013-03-22 68 views
0

任何行动,我有2个布局在我的活动,如果从第一个布局ImageView的“秀”点击,第2布局应显示,但在这里它不会发生这样的ONCLICK,给了编码修正但没能解决这个问题 这里是我的代码“ImageView的”不生产的机器人

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> 
+0

你为什么要设置的onClick “作秀” 的知名度为可见的()?如果你做得不好,我觉得可见度可能是问题。 – sat 2013-03-22 11:23:41

+0

发布您的布局代码? – GrIsHu 2013-03-22 11:24:19

+0

我认为具有图像视图的布局的可见性已被设置为不可见或消失。图像视图存在哪种布局? – Kameswari 2013-03-22 11:26:08

回答

0

对于XML格式的图像视图 'SS',设置属性的android:点击= “真”。

或更好,否则,代替ImageView在XML使用ImageButton

编辑 -

更改此

show=(ImageView)findViewById(R.id.ss);

show=(ImageView)findViewById(R.id.show);

+0

是的我设置了android:clickable =“true”在xml中,但没有效果@Enigma – 2013-03-22 11:39:45

+0

我改变了答案。请检查。 – Enigma 2013-03-22 11:50:53

+0

我曾编辑过show =(ImageView)findViewById(R.id.ss); NW在XML NW标识双方的相同改变,但仍同样的问题@Grishu – 2013-03-22 11:55:47

0

你错误地定义你的ImageView的ID,这就是为什么你不能让你的ImageView的onclick事件。

更改您的ImageView的ID R.id.show如下除了R.id.ss

更改此

 show=(ImageView)findViewById(R.id.ss); 

 show=(ImageView)findViewById(R.id.show); 

编辑:

尝试在您的onClick侦听器中显示并隐藏您的布局,如下所示。

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); 
    }