我有一个活动,它在打开后立即打开一个对话框:
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPath = new File(getIntent().getExtras().getString("START_PATH"));
FTYPE = getIntent().getExtras().getString("FILTER");
showDialog(DIALOG_LOAD_FILE);
}
Run Code Online (Sandbox Code Playgroud)
我试图做到这一点,当用户单击后退按钮(仍在对话框中)时,整个活动都将退出。我有以下几点:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent resultIntent = new Intent();
resultIntent.putExtra("FILE_PATH", mPath.toString());
setResult(Activity.RESULT_OK, resultIntent);
finish();
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
如果 Dialog 不再存在,这很有效,但如果 Dialog 仍然处于活动状态,则不会被调用。想法?
我正在处理以下结构:
typedef PACKED struct {
word len; /* # of bytes to log (including len)*/
word type; /* What kind of data is in this pkt */
qword time; /* What time it was generated */
byte data[MAX_DATA_BUFFER_SIZE];
} log_mobile_data_type;
Run Code Online (Sandbox Code Playgroud)
我的问题是,结构的最后一个成员究竟是什么?是一个大小等于MAX_DATA_BUFFER_SIZE的成员,还是只有1(字节)?一旦我将实际数据读入"数据"成员,"数据"成员是否代表实际数据,还是只是指向它的指针?谢谢!