В моем приложении мне нужно отображать несколько (трех) списков в секциях времени. Может ли кто-нибудь предложить мне лучший способ реализовать это.Как отобразить несколько списков в одном действии
Заранее спасибо, Chandra.
В моем приложении мне нужно отображать несколько (трех) списков в секциях времени. Может ли кто-нибудь предложить мне лучший способ реализовать это.Как отобразить несколько списков в одном действии
Заранее спасибо, Chandra.
Возможно, вы хотите изучить фрагменты.
http://developer.android.com/guide/components/fragments.html
, если вы создаете управления ListView в файле XML, вы можете просто указать атрибут ID, как так: android:id="@+id/listView1
, обеспечивая другой идентификатор для каждого ListView
. В вашем Java-коде вам нужно будет расширить Activity и создать три объекта ListView
и указать их на идентификаторы в вашем XML-файле. Когда у вас есть дескриптор в ListView, вы хотите создать источник данных и ArrayAdapter<String>
для каждого ListView
. Я предпочитаю использовать ArrayList<String>
над консенсусом String[]
просто потому, что для меня они удобны в использовании. Рабочий образец Java ниже будет работать для одного ListView
. Дублируйте переменные и объекты в два раза с разными именами для двух других ListViews
. Надеюсь, что это помогает:
public class MainListActivityExample extends Activity {
ListView listView1;
ArrayList<String> lvContents1 = new ArrayList<String>;
ArrayAdapter<String> lvAdapter1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Tell the method which layout file to look at
setContentView(R.layout.listViewExample_activity);
// Point the ListView object to the XML item
listView1 = (ListView) findViewById(R.id.listView1);
// Create the Adapter with the contents of the ArrayList<String>
lvAdapter1 = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, lvContents1);
// Attach the Adapter to the ListView
listView1.setAdapter(lvAdapter1);
// Add a couple of items to the contents
lvContents1.add("Foo");
lvContents1.add("Bar");
// Tell the adapter that the contents have changed
lvAdapter1.notifyDataSetChanged();
}
Для того, чтобы добавить другие два ListViews, создать еще два ListView
объектов, более двух ArrayList<String>
объектов, и еще два ArrayAdapter<String>
объектов, каждый из которых с соответствующими именами, так что вы знаете, какой принадлежит к какой. Затем вы можете выполнить те же самые шаги для их инициализации.
Постарайтесь предоставить более подробный ответ. Для тех, кто мало знает об Android и не может схватить ListViews, официальный веб-сайт разработчика по концепции, намного более сложной, чем ListView, может быть слишком далек. – Adam