Android - нажатие кнопок в представлении вкладок - PullRequest
0 голосов
/ 12 января 2011

Я очень плохо знаком с программированием на Android, но я взял немало учебников. Но все же у меня проблемы со следующим.

Я взял этот учебник: http://developer.android.com/resources/tutorials/views/hello-tabwidget.html. Кроме того, я взял этот учебник для нажатия кнопок: developer.android.com/guide/topics/ui/ui-events.html

Я добавил кнопку и EditText в макет первой вкладки. Просто для целей тестирования, я хотел бы, чтобы EditText стал невидимым, если я нажму кнопку. Вот мой код:

package test.HelloTabWidget;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class ArtistsActivity extends Activity
{
    EditText et;

    private OnClickListener mCorkyListener = new OnClickListener()
    {
        public void onClick(View v) {
            et.setVisibility(View.INVISIBLE);
        }
    };

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.artists);

        et = (EditText)this.findViewById(R.id.EditText01);
        Button button = (Button)this.findViewById(R.id.Button01);
        button.setOnClickListener(mCorkyListener);        
    }
}

Этот код предназначен для первой вкладки. Я на самом деле пытался создать новый проект и просто использовать стандартную разметку, а затем использовать код выше. Тогда это работает отлично. Поэтому я не очень понимаю, почему это не сработает.

Обновление: Работает сейчас, но я боюсь, что понятия не имею, что вызвало ошибку и почему она теперь работает.

Ответы [ 2 ]

0 голосов
/ 10 июля 2011

Закрытие.Как указано в нижней части оригинального сообщения, проблема устранилась загадочно.

0 голосов
/ 12 января 2011

Возможно попробуйте установить

button.setOnClickListener(new OnClickListener () { 

 public void onClick(View v) { 

 et.setVisibility(View.INVISIBLE); 

}

});

Внутри вашего onCreate ().Правда, все должно быть хорошо в любом случае.

...