Метод «при нажатии» не работает для кнопок, получаемых путем раздувания макета! - PullRequest
1 голос
/ 26 марта 2011

Пожалуйста, не отвечайте уже ответил

Я уже задавал этот вопрос, но думаю, что не совсем ясно! Мои методы onClick для кнопок, которые были получены путем надувания макета, не работают как это исправить, я забыл что-то сделать в своем коде?

Обновлено: Теперь с помощью следующего кода я получаю nullpointerexception, когда я устанавливаю onClickListener, что не так

Вот мой код: (обратите внимание, что он не завершен, вы не увидите его при создании!)

         LayoutInflater  inflater = LayoutInflater.from(getBaseContext());
    View playv = inflater.inflate(R.layout.play, null);
    Button updateLevel = (Button) playv.findViewById(R.id.updateLevel);

    updateLevel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                setLevelOnClick(v);
            }
        });


    View levelv = inflater.inflate(R.layout.level, null);
    Button gotomenu = (Button) levelv.findViewById(R.id.tomenu);

    gotomenu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                toMenuOnClick(v);
            }
        });

1 Ответ

3 голосов
/ 26 марта 2011

Андрей

Попытка:

LayoutInflater  inflater = LayoutInflater.from(context);
View v = inflater.inflate(R.layout.root_view, null);
Button updateLevel = (Button) v.findViewById(R.id.updateLevel);

updateLevel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            setLevelOnClick(v);
        }
    });
Button goBackMainMenu = v.inflate(R.layout.play, null).findViewById(R.id.tomenu);
goBackMainMenu.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        toMenuOnClick(v);
    }
});

это предполагает, что root_view - это View, содержащий Button объекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...