我想从一个活动发送一个字符串从数字EditText
到另一个。但是当我点击保存我的apk崩溃。这里是代码和logcat。Android发送字符串时崩溃
设置
public class settings extends Activity {
Button btnSave;
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
btnSave = (Button)findViewById(R.id.save);
final EditText passkey = (EditText)findViewById(R.id.editText);
text=(TextView)findViewById(R.id.textView3);
btnSave.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String pass = passkey.getText().toString();
Intent myIntent = new Intent(settings.this, unlock.class);
myIntent.putExtra("String", pass);
startActivity(myIntent);
}
});
}
}
解锁
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_unlock);
String newString;
if (savedInstanceState == null) {
Bundle extras = getIntent().getExtras();
if(extras == null) {
newString= null;
} else {
newString= extras.getString("String");
}
} else {
newString= (String) savedInstanceState.getSerializable("String");
}
的onResume()方法。
@Override
public void onResume() {
super.onResume();
Intent intent = getIntent();
address = intent.getStringExtra(DeviceList.EXTRA_ADDRESS);
BluetoothDevice device = btAdapter.getRemoteDevice(address);
try {
btSocket = createBluetoothSocket(device);
} catch (IOException e) {
Toast.makeText(getBaseContext(), "Socket creation failed", Toast.LENGTH_LONG).show();
}
try
{
btSocket.connect();
} catch (IOException e) {
try
{
btSocket.close();
} catch (IOException e2)
{
//
}
}
mConnectedThread = new ConnectedThread(btSocket);
mConnectedThread.start();
mConnectedThread.write("x");
}
设备列表
public class DeviceList extends AppCompatActivity {
Button btnPaired;
ListView devicelist;
private BluetoothAdapter myBluetooth = null;
private Set<BluetoothDevice> pairedDevices;
public static String EXTRA_ADDRESS = "device_address";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_device_list);
btnPaired = (Button)findViewById(R.id.button);
devicelist = (ListView)findViewById(R.id.listView);
myBluetooth = BluetoothAdapter.getDefaultAdapter();
if(myBluetooth == null)
{
Toast.makeText(getApplicationContext(), "Bluetooth Device Not Available", Toast.LENGTH_LONG).show();
finish();
}
else
{
if (myBluetooth.isEnabled())
{ }
else
{
Intent turnBTon = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(turnBTon,1);
}
}
btnPaired.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
pairedDevicesList();
}
});
}
private void pairedDevicesList()
{
pairedDevices = myBluetooth.getBondedDevices();
ArrayList list = new ArrayList();
if (pairedDevices.size()>0)
{
for(BluetoothDevice bt : pairedDevices)
{
list.add(bt.getName() + "\n" + bt.getAddress());
}
}
else
{
Toast.makeText(getApplicationContext(), "No Paired Bluetooth Devices Found.", Toast.LENGTH_LONG).show();
}
final ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, list);
devicelist.setAdapter(adapter);
devicelist.setOnItemClickListener(myListClickListener);
}
private AdapterView.OnItemClickListener myListClickListener = new AdapterView.OnItemClickListener()
{
public void onItemClick (AdapterView av, View v, int arg2, long arg3)
{
String info = ((TextView) v).getText().toString();
String address = info.substring(info.length() - 17);
Intent i = new Intent(DeviceList.this, unlock.class);
i.putExtra(EXTRA_ADDRESS, address);
startActivity(i);
}
};
}
显示你的'onResume()'? –
我发布了它,我希望它可以帮助 –
你在做什么onResume(); –