android異常!!! FAILED BINDER TRANSACTION !!!
阿新 • • 發佈:2019-02-16
如下程式碼:
public class BActivity extends Activity { Button btn_noSave = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bactivity); btn_noSave = (Button)findViewById(R.id.btn_noSave); btn_noSave.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub File file = new File(getFilesDir(), "data.txt"); if(file.delete()) { Toast.makeText(BActivity.this, "刪除成功", Toast.LENGTH_LONG).show(); } } }); } }
執行的時候系統並沒有報錯,但是我把檔案儲存封裝成一個方法,如下:
居然報錯了!!,並且報錯資訊是看不懂的:public class BActivity extends Activity { Button btn_noSave = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.bactivity); btn_noSave = (Button)findViewById(R.id.btn_noSave); btn_noSave.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub deleteUser(); } }); } private void deleteUser() { // TODO Auto-generated method stub File file = new File(getFilesDir(), "data.txt"); if(file.delete()) { Toast.makeText(BActivity.this, "刪除成功", Toast.LENGTH_LONG).show(); } } }
仔細看看才發現是Toast的方法中的第一個引數不能這樣傳,直接傳入this就不會報錯了