VISWESWARAN1998 Ответов: 1

Проблема с listview в android


Сэр,я создал приложение для android с навигационным ящиком. Когда пользователь нажимает кнопку, приложение должно перейти к новому действию.Для этого я закодировал это

if (id == R.id.maths) {
            Intent intent = new Intent(Main.this, Mathematics.class);
            startActivity(intent);
}

и он успешно переходит к новой деятельности. Я хочу добавить представление списка в мое новое действие, для которого я закодировал вот так, для пустого действия inorder, чтобы показать представление списка

public class Mathematics extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.content_mathematics);
        String[] classes = {"A1","A2","A3","A4","A5","A6","A7","A8"};
        ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.content_mathematics, classes);

        ListView listView = (ListView) findViewById(R.id.mathList);
        listView.setAdapter(adapter);
    }
}


Кроме того, я добавил в XML-файл,
<ListView
     android:id="@+id/mathList"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" >
 </ListView>


Я построил приложение с помощью ноль предупреждений и ноль ошибок но когда я запускаю приложение, оно выходит из строя

Пожалуйста помогите мне с этим сэр

Спасибо за ваше время сэр

Что я уже пробовал:

Я попробовал запустить свое приложение с помощью эмулятора, и эмулятор показывает черный экран в течение нескольких часов. Я сослался на учебники и изменил код, но все тот же случай. Я не мог понять, так как приложение компилировалось с нулевыми ошибками.

Richard MacCutchan

Вам нужно использовать свой отладчик и журналы эмулятора, чтобы узнать, где он разбился и почему. Мы не можем догадаться, чего не хватает или что неверно.

Richard MacCutchan

Возможно, что ваш adapter переменная очищается, когда она выходит из области видимости. Сделайте его переменной класса и посмотрите, исправит ли это его.

[no name]

Спасибо, сэр, я сделал это, чтобы работать!

1 Ответов

Рейтинг:
10

VISWESWARAN1998

Наконец-то добрался до работы.

String[] topics = new String[]{"A1","A2","A3","A4","A5","A6","A7","A8"};
        ListAdapter adapt = new ArrayAdapter<string>(this,android.R.layout.simple_list_item_1,topics);
        ListView view = (ListView)findViewById(R.id.maths);
        view.setAdapter(adapt);
</string>


Варианта исполнения:

Объявленная строка альтернативным способом(я знаю, что оба они одинаковы)

Как предложил Ричард Маккатчан я сослался на текущий учебник из документации Android и изменил эту строку следующим образом,
ArrayAdapter adapter = new ArrayAdapter<string>(this, R.layout.content_mathematics, classes);</string>


К

ListAdapter adapt = new ArrayAdapter<string>(this,android.R.layout.simple_list_item_1,topics);</string>


Мне не нужны изображения в этом списке, поэтому я установил макет на его базовый (simple_list_item_1)