在arrayadapter中交换数据时,从绑定器存根实现中捕获了RuntimeException

时间:2015-08-25 03:59:58

标签: java android spinner android-arrayadapter android-windowmanager

public class MainActivity extends AppCompatActivity {

     ArrayList<String> list = new ArrayList<>();

     ArrayAdapter<String> adapter;

     ArrayList<String> data1 = new ArrayList<>();

     ArrayList<String> data2 = new ArrayList<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    for (int i = 0 ; i< 10 ;i++){
        data1.add(String.valueOf(i));
    }

    for (int i = 20; i < 30; i++){
        data2.add(String.valueOf(i));
    }

    Spinner spinner = (Spinner) findViewById(R.id.demo);
    adapter = new ArrayAdapter<>(this,android.R.layout.simple_dropdown_item_1line,list);
    spinner.setAdapter(adapter);
}

private void change(boolean which){
    if (which){
        list.clear();
        list.addAll(data1);

    }else{
        list.clear();
        list.addAll(data2);

    }
    adapter.notifyDataSetChanged();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_no) {
        change(true);
        return true;
    }else if (id == R.id.action_ok){
        change(false);
        return true;
    }

    return super.onOptionsItemSelected(item);
}
  }

当我在微调器中交换数据时,出现错误:

08-25 11:51:59.630   29087-9866/me.aber.app.arrayapdapterdemo
D/dalvikvm? GC_FOR_ALLOC freed 2055K, 52% free 7378K/15192K, paused 24ms, total 30ms
08-25 11:52:01.923   29087-9866/me.aber.app.arrayapdapterdemo
W/Binder? Caught a RuntimeException from the binder stub implementation.
    java.lang.NullPointerException
at android.view.WindowManagerGlobal.dumpGfxInfo(WindowManagerGlobal.java:437)
at android.app.ActivityThread$ApplicationThread.dumpGfxInfo(ActivityThread.java:1021)
at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:550)
at android.os.Binder.execTransact(Binder.java:404)
at dalvik.system.NativeStart.run(Native Method)

当我点击动作时,这会随机出现。

0 个答案:

没有答案