Я пытаюсь сделать что-то похожее на этот чат в этом уроке (https://github.com/ScaleDrone/android-chat-tutorial),, но я не хочу отправлять смс-сообщения.
В основном я хочу, чтобы у этой программы был просмотр спискасообщения (так же, как учебник, который имеет оба сообщения от меня, но от другого человека. Как будто вы пишете кому-то текст).
Кажется, что ошибка происходит из-за инициализации message_Body, как в классе Java.
TextView myMessage = (TextView) findViewById(R.id.message_body);
Когда я отлаживаю, он говорит, что myMessage имеет значение null. Может ли кто-нибудь помочь мне с отладкой этой проблемы? Спасибо!
my_messages.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="10dp"
android:paddingRight="15dp"
android:paddingLeft="60dp"
android:clipToPadding="false">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/message_body"
android:background="@drawable/my_message"
android:textColor="#fff"
android:padding="10dp"
android:elevation="2dp"
android:textSize="18dp"
android:layout_alignParentRight="true"
android:text="Placeholder message"
/>
</RelativeLayout>
its_message.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="10dp"
android:paddingLeft="15dp"
android:paddingRight="60dp"
android:clipToPadding="false">
<View
android:id="@+id/avatar"
android:layout_alignParentLeft="true"
android:scaleType="centerInside"
android:background="@drawable/circle"
android:layout_width="34dp"
android:layout_height="34dp" />
<TextView
android:id="@+id/name"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@+id/avatar"
android:layout_alignTop="@+id/avatar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="4dp"
android:text="Rose"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/message_body"
android:layout_below="@+id/name"
android:layout_alignLeft="@+id/name"
android:background="@drawable/their_message"
android:paddingVertical="12dp"
android:paddingHorizontal="16dp"
android:elevation="2dp"
android:textSize="18dp"
android:text="How are you doing? This is a long message that should probably wrap."
/>
</RelativeLayout>
В моем классе Java у меня есть это
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
ListView view = (ListView) findViewById(R.id.mathListView);
Intent in = getIntent();
int index = in.getIntExtra("com.example.mathhack.ITEM_INDEX", -1);
if (index > -1) {
TextView myMessage = (TextView) findViewById(R.id.message_body);
List<TextView> textViewList = new ArrayList<TextView>();
ListAdapter adapter = new ArrayAdapter<TextView>(this, android.R.layout.simple_list_item_1, textViewList);
myMessage.setText("test1");
textViewList.add(myMessage);
view.setAdapter(adapter);
}
}