1. 程式人生 > >android異常!!! FAILED BINDER TRANSACTION !!!

android異常!!! FAILED BINDER TRANSACTION !!!

如下程式碼:

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就不會報錯了