Вы не можете ссылаться на l1
до setContentView(R.layout.activity_namelist)
Правильный код здесь:
public class Namelist extends AppCompatActivity {
String[] mobileArray = {"Android","IPhone","WindowsMobile","Blackberry","WebOS","Ubuntu","Windows7","Max OS X"};
ListView l1;
ArrayAdapter<String> arrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_namelist);
l1 = findViewById(R.id.list);
arrayAdapter = new ArrayAdapter<String>(Namelist.this,android.R.layout.simple_list_item_1,mobileArray);
l1.setAdapter(arrayAdapter);
}
}
И вы также передали неправильный layout
R.layout.activity_namelist
во второй параметр ArrayAdapter
. Вы не объявили имя макета activity_namelist
. Таким образом, вы можете использовать встроенный макет по умолчанию android.R.layout.simple_list_item_1
, спросите код выше.