2013-02-11 6 views
0

Функциональность:Относительное расположение один компонент на другой

По щелчку кнопки хотите показать изображение И когда я нажал на изображение изображение должно быть исчезнуть (я использую View.GONE для этого).

Layout: I относительное расположение одна кнопки и один образ на этой кнопке, но в деятельности на создание метода я сделать вид изображения зашел так, что я могу нажать на кнопке.

Проблема: Первый раз, когда я нажимаю кнопку работает отлично т.е. изображение появляется и щелчком ее образ пропадают (для этого я использую View.visible и View.gone соответственно).. Но когда я пытаюсь нажать на кнопку второй раз, он не покажет изображение.

Я думаю, что изображение только исчезло, но на самом деле изображение все еще есть, поэтому может быть кнопка не clickable.So, что делать, что я могу получить кнопку clickable.Any помощь будет оценена. Спасибо ...

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.settings1); 
    img = (ImageView) findViewById(R.id.imageView4); 
    btn = (Button) findViewById(R.id.btn); 
    img.setVisibility(View.GONE); 
} 

btn.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
        img.setVisiblity(View.VISIBLE); 
     } 
    } 

img.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
        img.setVisiblity(View.GONE); 
     } 
    } 
+0

Вы можете размещать коды, чтобы мы могли помочь вам –

+0

Я добавил код ... –

+0

проверить, работает ли событие click или нет. проверить, нажав кнопку входа в систему –

ответ

0

Проблема не в том, что,

При использовании view.setVisiblity(View.GONE); вид больше недоступна для событий щелчка. Вы должны использовать View.Invisible для этого

Однако, если вы пытаетесь сделать щелчок эффект кнопки, то вы должны использовать xml selector

надеюсь, что это помогает

0

Дайте ему попробовать

btn.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
        img.setVisiblity(View.VISIBLE); 
        btn.setVisiblity(View.GONE); 

     } 
    } 

img.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
        img.setVisiblity(View.GONE); 
        btn.setVisiblity(View.VISIBLE); 
     } 
    } 

Надеюсь, это будет полезно!

Смежные вопросы