Android在非Activity类中实现Activity类中才能使用的方法

Android编程中,有的方法只能在Activity类中才能实现,如Toast,但是比如在自己写的view类中有需要实现toast时候咋办呢。当然方法有很多,本文提供一种通过Java接口来实现的方法。在B类中执行只能在A类中可以运行的代码。

B类代码如下:

public class BClass {
	
	//声明一个接口
	public BInterface bintf;
	
	//在这个类里面创建一个接口
	interface BInterface
	{
		public void doSth();
	}
	
	//需要传递接口
	public BClass(BInterface bf)
	{
		this.bintf = bf;
	}
	
	public void bPrint()
	{
		System.out.println("this is B class");
		bintf.doSth();
	}

}

A类代码:

public class AClass {
	public static void main(String[] args)
	{
		String AName = "in A";
		BClass bc = new BClass( new BClass.BInterface() {
			@Override
			public void doSth() {
				// TODO Auto-generated method stub
				System.out.println("This is "+AName);
			}
		});
		bc.bPrint();
	}
}

End.

你可能感兴趣的:(java)