2013-07-06 69 views
0

我試圖將一個字符串和一些整數傳遞給另一個活動。問題是整數可以成功傳遞,但不是字符串值。我在論壇上搜索類似的問題,但我無法找到我的問題。使用字符串傳遞意圖的數據返回null

主要活動類:

public void onClick(View v) 
    { 
     Intent debug = new Intent("bluetooth_4.pack.USBDebugMode"); 

     if((port != null)) 
     { 
      debug.putExtra("port", port.toString()); 
      debug.putExtra("buadRate", buadRate); 
      debug.putExtra("dataBits", dataBits); 
      debug.putExtra("stopBits", stopBits); 
      debug.putExtra("parity", parity); 

      startActivity(debug); 

      Toast.makeText(MainActivity.this, "Switching to USB Debug Mode" , Toast.LENGTH_SHORT).show(); 
     } 
     else 
     { 
      Toast.makeText(MainActivity.this, "You haven't selected a device yet!" , Toast.LENGTH_SHORT).show(); 
     } 
    } 

新活動課:

protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.usb_debug_main); 

    Button button1 = (Button) findViewById(R.id.button1); 
    Button button2 = (Button) findViewById(R.id.button2); 

    button1.setOnClickListener(myButtonListener1); 
    button2.setOnClickListener(myButtonListener2); 

    ActionBar actionBar = getActionBar(); 
    actionBar.hide(); 

    port = getIntent().getStringExtra(port); 
    buadRate = getIntent().getIntExtra("buadRate", 0); 
    dataBits = getIntent().getIntExtra("dataBits", 0); 
    stopBits = getIntent().getIntExtra("stopBits", 0); 
    parity = getIntent().getDoubleExtra("parity", 0); 

    mUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE); 

    TextView text = (TextView) findViewById(R.id.textView2); 

    text.append("Port: " + port + "\r\n"); 
    text.append("Buad Rate: " + buadRate + "\r\n"); 
    text.append("Data Bits: " + dataBits + "\r\n"); 
    text.append("Stop Bits: " + stopBits + "\r\n"); 
    text.append("Parity: " + parity + "\r\n"); 
} 

我有一個文本框,它的作用就是顯示的一些數據,而參數如布阿島率,數據位,停止位和奇偶校驗有數據,端口始終返回空值。

但是,端口不能爲null才能開始活動。

+0

什麼數據類型是「端口」? –

回答

1

改變這一行

port = getIntent().getStringExtra(port); 

port = getIntent().getStringExtra("port"); 
+0

哦,上帝,爲什麼我沒有注意到這一點,感謝您的幫助! – user1157751

1

您忘記傳遞正確的鑰匙在你NewActivityClass,我有一個提示爲您服務!

總是將公共常量定義在應用程序的某個位置。 (我通常創建MyConstants.Java用於這一目的。這是你可以肯定的是要傳遞正確的鑰匙,既發送類和接收類的唯一途徑

感謝。

相關問題