Я использовал этот код на примере чата Bluetooth.Это работало, когда это был просмотр списка, и теперь я пытаюсь отобразить это как текстовое представление и теперь не работает вообще.
Я внес небольшие изменения в код только для того, чтобы отобразить полученное сообщение и не смог отправить сообщение обратно.Это избавление от всех методов записи.
Это оригинальный код
private void setupChat() {
Log.d(TAG, "setupChat()");
// Initialize the array adapter for the conversation thread
mConversationArrayAdapter = new ArrayAdapter<String>(this, R.layout.message);
mConversationView = (ListView) findViewById(R.id.in);
mConversationView.setAdapter(mConversationArrayAdapter);
// Initialize the compose field with a listener for the return key
mOutEditText = (EditText) findViewById(R.id.edit_text_out);
mOutEditText.setOnEditorActionListener(mWriteListener);
// Initialize the send button with a listener that for click events
mSendButton = (Button) findViewById(R.id.button_send);
mSendButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Send a message using content of the edit text widget
TextView view = (TextView) findViewById(R.id.edit_text_out);
String message = view.getText().toString();
sendMessage(message);
}
});
// Initialize the BluetoothChatService to perform bluetooth connections
mChatService = new BluetoothChatService(this, mHandler);
// Initialize the buffer for outgoing messages
mOutStringBuffer = new StringBuffer("");
}
Это то, что я изменил на.
private void setupChat()
{
Log.d(TAG, "setupChat()");
mIn = (TextView) findViewById(R.id.in);
// Initialize the array adapter for the conversation thread
// Initialize the BluetoothChatService to perform bluetooth connections
mChatService = new BluetoothChatService(this, mHandler);
Это logcatвыходные данные.
11-06 15:35:52.047: E/AndroidRuntime(19780): FATAL EXCEPTION: main
11-06 15: 35: 52.047: E / AndroidRuntime (19780): java.lang.RuntimeException: невозможно запустить действие ComponentInfo {com.example.android.BluetoothChat /com.example.android.BluetoothChat.BluetoothChat}: java.lang.ClassCastException: android.widget.ListView 11-06 15: 35: 52.047: E / AndroidRuntime (19780): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java): 2781) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2797) 11-06 15: 35: 52.047: E / AndroidRuntime (19780):в android.app.ActivityThread.access $ 2300 (ActivityThread.java:135) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2132) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): на android.os.Handler.dispatchMessage (Handler.java:99) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): на android.os.Looper.loop (Looper.java:143) 11-06 15: 35: 52.047: E /AndroidRuntime (19780): на android.app.ActivityThread.main (ActivityThread.java:4914) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): на java.lang.reflect.Method.invokeNative (собственный метод)11-06 15: 35: 52.047: E / AndroidRuntime (19780): по адресу java.lang.reflect.Method.invoke (Method.java:521) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): по адресуcom.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java: 626) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): at dalvik.system.NativeStart.main (собственный метод) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): вызваноавтор: java.lang.ClassCastException: android.widget.ListView 11-06 15: 35: 52.047: E / AndroidRuntime (19780): на com.example.android.BluetoothChat.BluetoothChat.setupChat (BluetoothChat.java:141) 11-06 15:35: 52.047: E / AndroidRuntime (19780): на com.example.android.BluetoothChat.BluetoothChat.onStart (BluetoothChat.java:116) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): на android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1197) 11-06 15: 35: 52.047: E / AndroidRuntime (19780): на android.app.Activity.performStart (Activity.java:3822) 11-06 15: 35: 52.047:E / AndroidRuntime (19780): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2754)
Другие изменения заключались в удалении метода sendMessage () и случая MESSAGE_WRITE в handleMessage ().
Также убрал два метода записи (buffer [] byte) write из класса BluetoothChatServices
Я смотрел на это в течение нескольких дней и действительно не могу понять, чтонеправильно.