问题:
为了满足通过action调用activity以后进入其中某个fragment的指定的界面,需要在activity被打开以后获取进入该页面的上一个activity数据。
获取打开该activity的上一个activity点报名获取为:在activity中调用函数
getReferrer();
。
获取当前应用的applocation_Id的方法:
BuildConfig.APPLICATION_ID
在activity中加载fragment以后想要设置edittext默认获取焦点事件,并且创建popupwindow,如果直接在onActivityCreated()设置edittext获取焦点,并创建popupwindow,会产生严重的错误:
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is yo
说窗口的内存泄漏了,琢磨了很久,查到一些资料说,在登陆界面密码错误时直接设置edittext获取焦点无效,需要延时。所以我直接搬入我的代码尝试,并且解决了这个问题。
在fragment中代码实现如下:
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what==3){
countMoney.setFocusable(true);
countMoney.setFocusableInTouchMode(true);
countMoney.requestFocus();
}
}
};
//被onActivityCreated调用的函数代码
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(100);
handler.sendEmptyMessage(3);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
在添加了延时后执行以后解决了遇到的问题。