从android中的另一个类访问一个按钮

时间:2013-10-04 05:22:24

标签: android button

我知道之前在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

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

2 个答案:

答案 0 :(得分:4)

更改:

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
        }
    });

答案 1 :(得分:0)

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