点击方法不适用于通过膨胀布局获得的按钮!

时间:2011-03-25 22:57:44

标签: java android onclick

请不要回答已经回答

我已经问过这个问题了,但我觉得我还不够清楚! 通过膨胀布局获得的按钮的onClick方法无法正常工作如何修复此问题我忘了在代码中执行某些操作?

更新: 现在使用以下代码,当我将onClickListener设置为错误时,我得到一个nullpointerexception

以下是我的一些代码: (注意它不完整,你不会看到onCreate!)

         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 个答案:

答案 0 :(得分:3)

安德鲁,

尝试:

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