0
我是新來的java和當前正在一個項目上工作。我正在嘗試熟悉藍牙。到目前爲止,我已經能夠打開和關閉應用程序內的藍牙。我遇到的問題是執行操作後屏幕不刷新。例如,當我打開藍牙時,它會出現,但textview中的文本不會更新,直到我將手機翻過來。當我斷開連接時也是如此。這裏是我的代碼屏幕拒絕刷新行動
package com.example.bluetooth;
import android.os.Bundle;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
Button button;
TextView update;
CharSequence enabled = "Bluetooth Enabled";
CharSequence disabled = "Bluetooth disabled";
CharSequence connect = "Connect";
CharSequence disconnect = "Disconnect";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setUp();
action();
}
private void action() {
if (button.getText() == connect) {
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btAdapter.enable();
}
});
}
if (button.getText() == disconnect) {
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btAdapter.disable();
}
});
}
}
private void setUp() {
button = (Button) findViewById(R.id.button1);
update = (TextView) findViewById(R.id.textView1);
button = (Button) findViewById(R.id.button1);
if (btAdapter.isEnabled()) {
update.setText("Bluetooth is enabled");
button.setText(disconnect);
}
else {
update.setText("Bluetooth is disabled");
button.setText(connect);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
任何幫助都將不勝感激。謝謝。
謝謝。我試着在每個onclicklisteners中再次調用'setup()',但它仍然不起作用。我也從'=='更改爲'.equals()' – 2013-02-18 00:18:40
@hauwamusa啓用禁用是異步調用,因此您必須製作廣播接收器。我會盡快做一個代碼示例。 – 2013-02-18 00:24:37
好的,非常感謝。我會關注你的樣品。 – 2013-02-18 00:29:54