¿Cómo puedo implementar un ListView sin ListActivity? (use solo Actividad)

Soy nuevo en Android, y realmente necesito hacerlo de esta manera (he considerado hacerlo en otra Activity ), pero ¿alguien puede mostrarme un código simple (solo el método onCreate() ) que puede hacer ListActivity sin ListActivity ?

Gracias

Si tiene un diseño xml para la actividad, incluida una lista como esta

   

Entonces en tu onCreate podrías tener algo como esto

 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(); } }); 

Incluya el siguiente recurso en su archivo 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); String[] items = new String[] {"Item 1", "Item 2", "Item 3"}; ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items); m_listview.setAdapter(adapter); } } 

Lo siguiente crea un simple ListView programáticamente:

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

También podría hacer referencia a su diseño, instanciar un objeto de diseño desde su código, y luego construir el ListView en Java. Esto le proporciona cierta flexibilidad en términos de establecer la altura y el ancho dynamics en el tiempo de ejecución.

incluya el siguiente archivo de recursos en res / layout / main.xml

     

MainActivity.java

 public class MainActivity extends Activity { ListView listView; String[] 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); } }