我試圖從一個活動發送一個字節[]到另一個。在接收活動中,在獲得意圖附加數據後,byte []似乎爲空。有任何想法嗎?android無法從意圖獲取字節數組
謝謝。
Button save = (Button)findViewById(R.id.save);
save.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
touchView.isSaved = true;
Bundle bundle = new Bundle();
bundle.putByteArray("byteArr", touchView.data);
Intent intent = new Intent(mContext, SavePic.class);
intent.putExtra(bundle);
startActivity(intent);
}}) ;
。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.savepic);
final EditText edittext = (EditText) findViewById(R.id.edittext);
edittext.setText("");
edittext.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER)) {
// Perform action on key press
Bundle extras = getIntent().getExtras();
byte [] arr = extras.getByteArray("byteArr");
if(arr != null){
Log.e("xxxxxx", "********* arr not null");
}else{
Log.e("xxxxxx", "********* arr is null");
}
final Bitmap mCBitmap2 = BitmapFactory.decodeByteArray(arr, 0, arr.length);
。
[更新] 所以不是我已經改變了鍵值相同的數據/ bytrArr,還意圖現在只是傳遞一個Bundle
嗨修改了你的建議的代碼,但它仍然拋出NPE的ARR陣列。 – turtleboy
嗨,只是再次測試它,你是正確的。當我第一次啓動應用程序時,我的代碼不會在第一次使用數據設置數組時使用其他代碼。謝謝 – turtleboy