Android Studio динамически добавляет TextView к ListView - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь сделать что-то похожее на этот чат в этом уроке (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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...