我正在活动中创建一个小吃吧(定义了解除小吃栏的回调)和当小吃栏仍然显示我正在旋转设备。
理想情况下,应该在销毁活动时调用onDismissed(),并为新设备方向创建新活动。
但当前活动被破坏时,onDismissed()回调才会出现。只有在创建新设备配置的新活动之后才会出现。
以下是代码段和日志:
public class MainActivity extends AppCompatActivity {
private String LOG_TAG = MainActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(LOG_TAG,"MainActivity : onCreate");
Button button = (Button)findViewById(R.id.bt_snack);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Snackbar snackbar = Snackbar.make(v,"Snackbar!",Snackbar.LENGTH_LONG)
.addCallback(new BaseTransientBottomBar.BaseCallback<Snackbar>() {
@Override
public void onDismissed(Snackbar transientBottomBar, int event) {
super.onDismissed(transientBottomBar, event);
Log.d(LOG_TAG,"Snackbar dismissed!");
}
});
snackbar.show();
}
});
}
日志:
05-20 04:16:42.299 12353-12353 / com.gururaj.snackbartest D / MainActivity:MainActivity:onCreate
05-20 04:16:42.330 12353-12353 / com.gururaj.snackbartest D / MainActivity:Snackbar被解雇了!
有人可以指出这里出了什么问题吗?