У меня есть два вида деятельности. MainActivity.java и HomeActivity.java. Я пытаюсь создать ListView в HomeActivity.java только с «Один», «Два», «Три» и «Четыре» в качестве элементов списка, но ListView вообще не отображается.
HomeActivity.java:
public class HomeActivity extends AppCompatActivity {
String personName;
String email;
String rfid;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
populateListView();
Bundle extras = getIntent().getExtras();
if (extras != null) {
personName = extras.getString("Name");
email = extras.getString("Email");
rfid = extras.getString("RFID");
}
String params = (email + "+" + rfid);
new MyAsyncTask().execute(new Pair(this, params));
toolbar.findViewById(R.id.ButtonSettings).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu popup = new PopupMenu(HomeActivity.this, findViewById(R.id.ButtonSettings));
popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());
popup.getMenu().add(personName);
popup.getMenu().add(email);
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(
HomeActivity.this, "You Clicked" + item.getTitle(), Toast.LENGTH_SHORT).show();
return true;
}
});
popup.show();
}
});
}
private void populateListView(){
String [] myItems = {"One", "Two", "Three", "Four"};
ArrayAdapter adapter = new ArrayAdapter(this, R.layout.show_tasks, myItems);
ListView list = (ListView) findViewById(R.id.listView);
list.setAdapter(adapter);
}
}
content_home.xml:
show_tasks.xml:
РЕДАКТИРОВАНИЕ:
Итак, я внес несколько изменений в свой код, и теперь мой ListView отображается в content_home.xml и Activity_home.xml в Android Studio, чего раньше не было. Однако когда я запускаю приложение на своем телефоне, ListView не отображается. Я отладил его и проверил свой метод populateList, и, похоже, он работает нормально. Отладка в конце метода populateList гласит:
this = {HomeActivity@20765}
myItems = {String[4]@20825}
adapter = {ArrayAdapter@20841}
list = {ListView@20853} "android.widget.ListView... etc
Подробнее здесь: https://stackoverflow.com/questions/359 ... oid-studio