Android Bluetooth arrayadapter probleme
Bonjour tout le monde;
bon avant de dire mon probleme voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
| package com.bleutouthteste.firstteste.teste;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import java.util.HashMap;
import java.util.Set;
public class ConnectActivity extends AppCompatActivity implements View.OnClickListener {
ListView maListViewPerso;
Button btn4;
//On déclare la HashMap qui contiendra les informations pour un item
HashMap<String, String> map;
private Set<BluetoothDevice> devices;
BluetoothAdapter bluetoothAdapter;
ArrayAdapter<String> btArrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_connect);
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
devices = bluetoothAdapter.getBondedDevices();
btn4 = (Button)this.findViewById(R.id.button4);
btn4.setOnClickListener(this);
maListViewPerso = (ListView)findViewById(R.id.listView01);
btArrayAdapter = new ArrayAdapter<String>(this, R.layout.affichageitem);
maListViewPerso.setAdapter(btArrayAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_connect, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
private final BroadcastReceiver bluetoothReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
Toast.makeText(ConnectActivity.this, "New Device = " + device.getName(), Toast.LENGTH_SHORT).show();
}
}
};
@Override
public void onClick(View v) {
if(v.getId() == R.id.button4)
{
btArrayAdapter.clear();
bluetoothAdapter.startDiscovery();
Toast.makeText(ConnectActivity.this, "Scanning Devices", Toast.LENGTH_LONG).show();
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(bluetoothReceiver, filter);
registerReceiver(bluetoothReceiver, new IntentFilter(BluetoothDevice.ACTION_FOUND));
}
}
} |
je suis ce tuto: http://sberfini.developpez.com/tutor...oid/bluetooth/
le code marche bien, sauf que quand je veux inserer les donnees dans ma listview, je ne sais pas si j'ai mal formulé le code de la liste adapteur mais l'application s'arrete quand j'ajoute ces deux lignes:
Code:
1 2
| btArrayAdapter.add(device.getName() + "\n" + device.getAddress());
btArrayAdapter.notifyDataSetChanged(); |
donc je pense qu'il y'a un probleme au niveau arrayadapter ??? en tout cas j'ai pas reussi à resoudre ce probleme et je viens vers vous.
merci d'avance