transferir secretos restaurar pasar para mensajes infidelidad icono gratis google desde descubrir corazon con app aplicaciones aplicacion amantes android api listview notifications music-player

secretos - transferir mensajes de whatsapp de android a iphone



Mi aplicaciĆ³n no funciona en API 23 (5)

Debe manejar permisos de almacenamiento de forma programática en dispositivos MarshMallow.

La aplicación de música que es <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" /> , funciona en API 16, pero no en API 23.

La vista de lista no está cargada de canciones, se muestra vacía cuando está marcada en API23, funciona bien en API16.

En API22 también funciona bien

import java.io.File; import java.util.ArrayList; import java.util.HashMap; import android.app.ListActivity; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.os.Environment; import android.view.ContextMenu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import android.widget.SearchView; import android.widget.SimpleAdapter; import android.widget.TextView; public class PlayListActivity extends ListActivity { // Songs list public ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>(); SearchView sv; ListView lv; SimpleAdapter adapter; ArrayList<HashMap<String, String>> songsListData = new ArrayList<>(); int songIndex; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.playlist); sv = (SearchView)findViewById(R.id.searchView); int id = sv.getContext().getResources().getIdentifier("android:id/search_src_text", null, null); TextView textView = (TextView) sv.findViewById(id); textView.setTextColor(Color.WHITE); textView.setHintTextColor(Color.LTGRAY); SongsManager plm = new SongsManager(); // get all songs from sdcard this.songsList = plm.getPlayList(Environment.getExternalStorageDirectory()); if(songsList!=null && songsList.size()>0) { // looping through playlist for (int i = 0; i < songsList.size(); i++) { // creating new HashMap HashMap<String, String> song = songsList.get(i); // adding HashList to ArrayList songsListData.add(song); } // Adding menuItems to ListView adapter = new SimpleAdapter(this, songsListData, R.layout.playlist_item, new String[]{"songTitle"}, new int[]{ R.id.songTitle}); setListAdapter(adapter); sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { adapter.getFilter().filter(newText); return false; } }); // selecting single ListView item lv = getListView(); // register for context menu registerForContextMenu(lv); // listening to single listitem click lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // getting listitem index songIndex = position; // Starting new intent Intent in = new Intent(getApplicationContext(), MainActivity.class); // Sending songIndex to PlayerActivity in.putExtra("songIndex", songIndex); setResult(100, in); // Closing PlayListView finish(); } }); } sv.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(final View view, boolean hasFocus) { if (hasFocus) { view.postDelayed(new Runnable() { @Override public void run() { InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(view.findFocus(), 0); } }, 200); } } }); } //ListView listView = (ListView)findViewById(android.R.id.list); @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.playlist_contextmenu,menu); } @Override public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); switch (item.getItemId()){ case R.id.delete_id: songsListData.remove(info.position); String path = songsList.get(info.position).get("songPath"); File filepath = new File(path); filepath.delete(); adapter.notifyDataSetChanged(); return true; default: return super.onContextItemSelected(item); } } }

Incluso el ícono de Notificación no aparece, muestra el icono vacío que he usado NotificationCompat.Builder

Vista de la lista

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <SearchView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/searchView" android:background="#242424" //black colour android:queryHint="Search..."> </SearchView> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:divider="@drawable/gradient_horizontal_line" android:dividerHeight="1dp" android:listSelector="@drawable/list_selector" // balck colour android:background="@drawable/list_selector"/> </LinearLayout>

Artículo de lista

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" android:background="@drawable/list_selector" android:foreground="#EBEBEB" android:padding="5dp"> <!--android:background="@drawable/list_selector"--> <TextView android:id="@+id/songTitle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="16dp" android:padding="10dp" android:background="@drawable/list_selector" android:textColor="#FFFFFF"/> // white colour <!--android:color="#f3f3f3"--> </LinearLayout>

list_selector

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Selector style for listrow --> <item android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/gradient_bg" /> <item android:state_pressed="true" android:drawable="@drawable/gradient_bg_hover" /> <item android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/gradient_bg_hover" /> </selector>

Styles.xml

<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> <style name="btnStyleBlackpearl" parent="@android:style/Widget.Button"> <item name="android:textSize">15sp</item> <item name="android:textStyle">bold</item> <item name="android:textColor">#C4C4C4</item> <item name="android:gravity">center</item> <item name="android:shadowColor">#000000</item> <item name="android:shadowDx">1</item> <item name="android:shadowDy">1</item> <item name="android:shadowRadius">0.6</item> <item name="android:background">@drawable/custom_btn_black_pearl</item> <item name="android:padding">10dip</item> </style> </resources>

por favor guía ...

API 16 - trabajando

API 23 - no funciona - después de activar el permiso de almacenamiento en el emulador


Para una solución rápida: en el dispositivo / emulador vaya a Settings -> Apps -> Your App -> Permissions y asegúrese de que el Storage esté activado. A largo plazo, desea que su aplicación solicite permisos en tiempo de ejecución con las nuevas API agregadas en la API 23.


Creo que textColor es blanco. Entonces no puedes ver los artículos de la fila. Puedes cambiar el textcolor y todo funcionará bien

¡Buena suerte!


  • Oye, revisa tus estilos.
  • El color de su lista es diferente en proporcionar imágenes api.
  • Creo que el color del texto del elemento de la lista es BLANCO, por lo que no está visible en la API 23.
  • intenta cambiar ese color y estoy seguro de que funcionará.

* Nota: mantenga un tema similar en todas las API.


Encontré el problema, es android:foreground="#EBEBEB" que es de color blanco en el diseño lineal de la lista de elementos.