Comment puis-je implémenter un ListView sans ListActivity? (utiliser uniquement l’activité)

Je suis nouveau sur Android, et je dois vraiment le faire de cette façon (j’ai envisagé de le faire dans une autre Activity ), mais quelqu’un peut-il me montrer un code simple (juste la méthode onCreate() ) qui peut effectuer Listview sans ListActivity ?

Merci

Si vous avez une disposition XML pour l’activité, y compris une liste comme celle-ci

   

Ensuite, dans votre onCreate, vous pourriez avoir quelque chose comme ça

 setContentView(R.layout.the_view); ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, myList); ListView lv = (ListView)findViewById(android.R.id.list); lv.setAdapter(adapter); lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView a, View v,int position, long id) { Toast.makeText(getBaseContext(), "Click", Toast.LENGTH_LONG).show(); } }); 

Incluez la ressource suivante dans votre fichier res / layout / main.xml:

  

your_class.java

 import android.widget.ListView; import android.widget.ArrayAdapter; public class your_class extends Activity { private ListView m_listview; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); m_listview = (ListView) findViewById(R.id.id_list_view); Ssortingng[] items = new Ssortingng[] {"Item 1", "Item 2", "Item 3"}; ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items); m_listview.setAdapter(adapter); } } 

Ce qui suit crée un simple ListView par programmation:

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Ssortingng[] myList = new Ssortingng[] {"Hello","World","Foo","Bar"}; ListView lv = new ListView(this); lv.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,myList)); setContentView(lv); } 

Vous pouvez également référencer votre mise en page, instancier un object de mise en page à partir de votre code, puis créer le ListView en Java. Cela vous donne une certaine souplesse en termes de réglage de la hauteur et de la largeur dynamics au moment de l’exécution.

inclure le fichier de ressources suivant dans votre res / layout / main.xml

     

MainActivity.java

 public class MainActivity extends Activity { ListView listView; Ssortingng[] listPlanet={"mercury","Venus","Mars","Saturn","Neptune"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); listView = (ListView)findViewById(R.id.listView)); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, listPlanet); listview.setAdapter(adapter); } }