SetListAdapter en AppCompatActivity

Tengo el programa con la característica listArray con extends AppCompatActivity pero tengo error en mi código

mi código

NoticiasActividad

 public class NewsActivity extends AppCompatActivity { Toolbar toolbar; // Progress Dialog private ProgressDialog pDialog; // Creating JSON Parser object JSONParser jParser = new JSONParser(); ArrayList<HashMap<String, String>> productsList; // url to get all products list private static String url_all_products = "http://localhost/update.php"; // JSON Node names private static final String TAG_SUCCESS = "success"; private static final String TAG_PRODUCTS = "updatedzc"; private static final String TAG_PID = "pid"; private static final String TAG_NAME = "name"; private static final String TAG_VERSION = "version"; private static final String TAG_DESC = "description"; // products JSONArray JSONArray products = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_news); // Hashmap for ListView productsList = new ArrayList<HashMap<String, String>>(); // Loading products in Background Thread new LoadAllProducts().execute(); } // Response from Edit Product Activity @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // if result code 100 if (resultCode == 100) { // if result code 100 is received // means user edited/deleted product // reload this screen again Intent intent = getIntent(); finish(); startActivity(intent); } } /** * Background Async Task to Load all product by making HTTP Request * */ class LoadAllProducts extends AsyncTask<String, String, String> { /** * Before starting background thread Show Progress Dialog * */ @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(NewsActivity.this); pDialog.setMessage("Loading News. Please wait..."); pDialog.setIndeterminate(false); pDialog.setCancelable(false); pDialog.show(); } /** * getting All products from url * */ protected String doInBackground(String... args) { // Building Parameters List<NameValuePair> params = new ArrayList<NameValuePair>(); // getting JSON string from URL JSONObject json = jParser.makeHttpRequest(url_all_products, "GET", params); // Check your log cat for JSON reponse Log.d("All Products: ", json.toString()); try { // Checking for SUCCESS TAG int success = json.getInt(TAG_SUCCESS); if (success == 1) { // products found // Getting Array of Products products = json.getJSONArray(TAG_PRODUCTS); // looping through All Products for (int i = 0; i < products.length(); i++) { JSONObject c = products.getJSONObject(i); // Storing each json item in variable String id = c.getString(TAG_PID); String name = c.getString(TAG_NAME); String version = c.getString(TAG_VERSION); String description = c.getString(TAG_DESC); // creating new HashMap HashMap<String, String> map = new HashMap<String, String>(); // adding each child node to HashMap key => value map.put(TAG_PID, id); map.put(TAG_NAME, name); map.put(TAG_VERSION, version); map.put(TAG_DESC, description); // adding HashList to ArrayList productsList.add(map); } } else { Toast.makeText(getApplicationContext(), "doesn't have news now", Toast.LENGTH_SHORT).show(); } } catch (JSONException e) { e.printStackTrace(); } return null; } /** * After completing background task Dismiss the progress dialog * **/ protected void onPostExecute(String file_url) { // dismiss the dialog after getting all products pDialog.dismiss(); // updating UI from Background Thread runOnUiThread(new Runnable() { public void run() { /** * Updating parsed JSON data into ListView * */ ListAdapter adapter = new SimpleAdapter( NewsActivity.this, productsList, R.layout.list_item, new String[] { TAG_PID, TAG_NAME, TAG_VERSION, TAG_DESC}, new int[] { R.id.pid, R.id.name, R.id.timestamp, R.id.txtStatusMsg }); // updating listview setListAdapter(adapter); } }); } } } 

Obtener un error en este

 setListAdapter(adapter); 

Error como este

 Error:(182, 21) error: cannot find symbol method setListAdapter(ListAdapter) 

¿Alguien puede ayudarme?

Si tiene el ListView siguiente en su actividad

  <ListView android:id="@+id/mainListView" android:layout_height="fill_parent" android:layout_width="fill_parent" android:layout_below="@id/scan_content"/> 

Añadir algo como

 public ListView mainListView; 

A NewsActivity y reemplazar

 setListAdapter(adapter); 

con

 mainListView.setAdapter(adapter); 

A menos que malinterprete la pregunta, eso debería funcionar.

No puede utilizar setListAdapter() porque AppCompatActivity no hereda de ListActivity . Deberá agregar el ListView al diseño usted mismo y luego usar ListView.setAdapter() .

Esta solución funcionará siempre y cuando tenga un ListView en su diseño con el ID: "R.id.list"

Mi método para poblar el ListView

 private void setWinesOnListView(){ Log.d(TAG, "setWinesOnListView() was called."); wineCursor = db.getReadableDatabase().rawQuery("SELECT _ID, name, producer, varietal, vintage FROM wines ORDER BY name",null); @SuppressWarnings("deprecation") ListAdapter adapter = new SimpleCursorAdapter(this,R.layout.row,wineCursor, new String[]{DatabaseHelper.NAME,DatabaseHelper.PRODUCER,DatabaseHelper.VARIETAL,DatabaseHelper.VINTAGE}, new int[]{R.id.name_row,R.id.producer_row,R.id.varietal_row,R.id.vintage_row}); ListView mListView = (ListView) findViewById(R.id.list); mListView.setAdapter(adapter); // setListAdapter(adapter); } 

Si desea utilizar setListAdapter tiene que extender su clase de ListActivity no de AppCompatActivity cambiar

 public class NewsActivity extends AppCompatActivity { 

con

 public class MainActivity extends ListActivity { 

En mi caso no muestra error después de extender ListActivity.

  • (Android Studio) Sugerir nombres de variables sobre las clases externas en rápida completa?
  • Creación de una aplicación Android basada en Phonegap en Android Studio
  • / Dev / kvm error de Android Studio
  • Servicio de Google para Android Recogedor de lugares setLatLngBounds () no funciona
  • Android Studio - migrar proyectos de eclipse
  • Error después de agregar dependencias a la barra de acción Sherlock en Android Studio 0.5.8
  • El plugin com.intellij no se pudo inicializar y se desactivará: null
  • IntelliJ "mantener sangrías en líneas vacías" no funciona
  • Gestor de dispositivos virtuales de Android se bloquea con "doble libre o corrupción"
  • Android Studio: 'wrap in container' en formato XML
  • Error de Android Studio al instalar Gradle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.