0

我知道之前在 SO 中也有人问过类似的问题,但很遗憾地说,它们都没有达到我的目的。

我在一个活动类中有一个按钮,我想在另一个类中提供它的功能。

下面是我的 HomeActivity 代码:

//  Tile Button
    tileButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            TileButton tileView = new TileButton();
            tileView.tile();
        }
    });

这是 TileButton.java 类代码:

public class TileButton {
HomeActivity homeActivity = new HomeActivity();
View view = homeActivity.hometabView;
public void tile(){
    if(view.isShown()){
        view.setVisibility(View.INVISIBLE);
    }else{
        view.setVisibility(View.VISIBLE);
    }
}
}

现在,当我按下平铺按钮时,会引发空指针异常。下面是 LogCat 条目。

10-04 10:32:07.833: E/AndroidRuntime(5330): java.lang.NullPointerException

我该如何解决这个问题?请帮忙

4

2 回答 2

5

改变:

public class TileButton {

public void tile(View view){
    if(view.isShown()){
        view.setVisibility(View.INVISIBLE);
    }else{
        view.setVisibility(View.VISIBLE);
    }
}
}

//  Tile Button
    tileButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            TileButton tileView = new TileButton();
            tileView.tile(v);// you can pass any view from here
        }
    });
于 2013-10-04T05:35:38.937 回答
0

如果您想在两个活动中进行相同的操作,请在其中一个活动中创建一个公共方法,然后调用两个按钮的 onClick 方法。但是您无法控制甚至不在屏幕上的活动的可见性。

于 2013-10-04T05:25:31.210 回答