AlertDialog.onClick事件导致Android x86_64和x86模拟器崩溃

时间:2016-10-06 10:14:33

标签: android android-emulator

我在x86_64和x86模拟器中测试了一个Android应用,并在从显示列表的AlertDialog中选择了一个项目后,它崩溃了(Android模拟器意外关闭)。从AppCompatActivity扩展的类中的onOptionsItemSelected重写方法调用AlertDialog。

一些代码:

public class ListViewActivity extends AppCompatActivity {

  private static final String TAG = "android-user-interface";

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;
  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      Toast.makeText(this, "Item de menu seleccionado", Toast.LENGTH_SHORT).show();
      AlertDialog.Builder builder = new AlertDialog.Builder(this);
      builder.setTitle("titulo")
              .setItems(new String[]{"uno", "dos", "tres"}, new DialogInterface.OnClickListener() {
                  public void onClick(DialogInterface dialog, int which) {
                      //fails before this
                  }
              });
      AlertDialog alertDialog = builder.create();
      alertDialog.show();
      //return super.onOptionsItemSelected(item);
      return true;
  }
  //...
}

在崩溃窗口中我得到了

Operating system: Windows NT
                  10.0.10586 
CPU: amd64
     family 6 model 60 stepping 3
     8 CPUs

Crash reason:  EXCEPTION_ACCESS_VIOLATION_READ
Crash address: 0x18
Assertion: Unknown assertion type 0x00000000
Process uptime: not available
... more info

有关此问题的一些想法/信息?

0 个答案:

没有答案