Visibility funktioniert nicht richtig

  • Antworten:1
Eugen T
  • Forum-Beiträge: 27

30.10.2013, 19:48:08 via Website

Hallo Leute.
Ich habe Folgendes problem:

Ich bin kein profi in der Programmierung, aber verstehe vieles.
Ich habe eine App in der ich ein Enabled Button habe zum Bluetooth einschalten + es sollen paar Views verschwinden und neue auftauchen.Es hat gestern funktioniert. Heute habe ich paar Änderungen vorgenommen und jetzt funktioniert es nicht mehr. Meiner Meinung nach, nach dem die Anfrage kommt, Bluetooth einschalten, die App tut stoppen,weil wenn ich die App neuestarte sind alle Views verschwunden und die anderen Views fürs eingeschaltete Bluetooth da, also so wie es sein soll.
Hier mein Code:
1package de.auto;
2
3import java.util.ArrayList;
4import java.util.Set;
5
6import android.app.Activity;
7import android.bluetooth.BluetoothAdapter;
8import android.bluetooth.BluetoothDevice;
9import android.content.BroadcastReceiver;
10import android.content.Context;
11import android.content.Intent;
12import android.content.IntentFilter;
13import android.os.Bundle;
14import android.view.View;
15import android.view.View.OnClickListener;
16import android.widget.ArrayAdapter;
17import android.widget.Button;
18import android.widget.CompoundButton;
19import android.widget.CompoundButton.OnCheckedChangeListener;
20import android.widget.ListView;
21import android.widget.TextView;
22import android.widget.Toast;
23import android.widget.ToggleButton;
24
25public class MainActivity extends Activity {
26
27 ToggleButton tBtn;
28 BluetoothAdapter theBluetoothAdapter;
29 Set<BluetoothDevice> pairedDevices;
30 ArrayAdapter<String> deviceName ;
31 ListView DeviceList;
32 TextView bluetoohOff;
33 TextView availableDivce;
34 Button searchButton;
35
36
37
38 @Override
39 protected void onCreate(Bundle savedInstanceState) {
40 super.onCreate(savedInstanceState);
41 setContentView(R.layout.main);
42
43
44 tBtn = (ToggleButton)findViewById(R.id.toggleButton1);
45 availableDivce = (TextView)findViewById(R.id.textView2);
46 bluetoohOff =(TextView)findViewById(R.id.textView1);
47 DeviceList = (ListView)findViewById(R.id.listView1);
48 searchButton =(Button)findViewById(R.id.button1);
49 deviceName = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1);
50
51
52
53
54 setAdapter();
55 BluetoothEnabled();
56 textVisibilitys();
57 discoverDevices();
58 devicesList();
59 broadCastReceiver();
60
61
62 }
63
64 public void setAdapter(){
65 theBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
66 if (theBluetoothAdapter == null) {
67 Toast.makeText(getApplicationContext(), "Das Gerät hat kein Bluetoot", Toast.LENGTH_SHORT).show();
68 finish();
69 }
70 if(theBluetoothAdapter.isEnabled()){
71 tBtn.setChecked(true);
72 }
73 }
74
75
76
77
78 public void textVisibilitys(){
79 if(theBluetoothAdapter.isEnabled()){
80 availableDivce.setBackgroundColor(getResources().getColor(R.color.availableDevice));
81 availableDivce.setText("Verfügbare Geräte");
82 bluetoohOff.setVisibility(View.INVISIBLE);
83 availableDivce.setVisibility(View.VISIBLE);
84 DeviceList.setVisibility(View.VISIBLE);
85 tBtn.setChecked(true);
86 tBtn.setClickable(false);
87 }
88 else{
89 bluetoohOff.setText("Schalten Sie Bluetooth ein");
90 bluetoohOff.setVisibility(View.VISIBLE);
91 availableDivce.setVisibility(View.INVISIBLE);
92 DeviceList.setVisibility(View.INVISIBLE);
93 }
94 }
95
96
97
98 public void BluetoothEnabled(){
99 tBtn.setOnCheckedChangeListener(new OnCheckedChangeListener() {
100 @Override
101 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
102
103 if(isChecked){
104 if(theBluetoothAdapter.isEnabled() == false){
105 Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
106 int requestBt = 1;
107 startActivityForResult(enableBtIntent, requestBt);
108
109 }
110 }
111 }
112 });
113 }
114
115 public void broadCastReceiver(){
116 final BroadcastReceiver mReceiver = new BroadcastReceiver() {
117 @Override
118 public void onReceive(Context context, Intent intent) {
119 String action = intent.getAction();
120
121 if (BluetoothDevice.ACTION_FOUND.equals(action)) {
122 BluetoothDevice newDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
123 if (newDevice.getBondState() != BluetoothDevice.BOND_BONDED) {
124 deviceName.add(newDevice.getName() + "|" + newDevice.getAddress());
125 deviceName.notifyDataSetChanged();
126
127 }
128 }
129 }
130 }; IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
131 registerReceiver(mReceiver, filter);
132 IntentFilter filter2 = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
133 registerReceiver(mReceiver, filter2);
134 }
135
136
137 public void devicesList(){
138 if(theBluetoothAdapter.isEnabled()){
139 pairedDevices = theBluetoothAdapter.getBondedDevices();
140
141 if (pairedDevices.size() > 0) {
142 for (BluetoothDevice device : pairedDevices) {
143 deviceName.add(device.getName() + "|" + device.getAddress());
144 }
145 }
146
147 if(pairedDevices.size()== 0){
148 Toast.makeText(getApplicationContext(), "Keine Geräte", Toast.LENGTH_SHORT).show();
149 }
150 }
151 }
152
153 public void discoverDevices(){
154
155 searchButton.setOnClickListener(new OnClickListener() {
156
157 @Override
158 public void onClick(View v) {
159
160
161 theBluetoothAdapter.cancelDiscovery();
162 theBluetoothAdapter.startDiscovery();
163 deviceName.clear();
164 DeviceList.setAdapter(deviceName);
165 Toast.makeText(getApplicationContext(), "Scanning", Toast.LENGTH_SHORT).show();
166 }
167 });
168
169
170
171}

Ich wäre sehr Dankbar.

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

30.10.2013, 19:51:02 via App

Was sagt der Log?

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten