Autore Topic: API 22 e colors.xml  (Letto 476 volte)

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
API 22 e colors.xml
« il: 03 Maggio 2015, 12:06:25 CEST »
0
ciao!

intanto mi scuso in anticipo se ho sbagliato sezione ma sinceramente non saprei dove postare.
allora, ho una app che sto passando ad android 5.
non mi interessa avere compatibilità con versioni precedenti:
Codice: [Seleziona]
    <uses-sdk
        android:minSdkVersion="21"
        android:targetSdkVersion="22" />
il problema è questo: se in res/values creo un file colors.xml, la app crasha e non si avvia.
dentro al file res/values/colors.xml c'è questo dentro:
Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="opaque_red">#f00</color>
    <color name="translucent_red">#80ff0000</color>
</resources>
quindi nulla di che.
il log mi dice questo:
Codice: [Seleziona]
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mp.book/com.mp.book.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.addTextChangedListener(android.text.TextWatcher)' on a null object reference
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at android.app.ActivityThread.access$800(ActivityThread.java:151)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at android.os.Handler.dispatchMessage(Handler.java:102)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at android.os.Looper.loop(Looper.java:135)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at android.app.ActivityThread.main(ActivityThread.java:5257)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at java.lang.reflect.Method.invoke(Native Method)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at java.lang.reflect.Method.invoke(Method.java:372)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime        Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.addTextChangedListener(android.text.TextWatcher)' on a null object reference
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at com.mp.book.MainActivity.onCreate(MainActivity.java:41)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at android.app.Activity.performCreate(Activity.java:5990)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
12:05:05.608        1290        com.mp.book        ERROR        AndroidRuntime            ... 10 more
sinceramente non riesco a capire cosa ci sia in comune tra l'errore e il file colors.xml.
fatto sta che se lo cancello, tutto funziona alla perfezione.
qualche idea?

Offline tonno16

  • Utente storico
  • *****
  • Post: 1231
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:API 22 e colors.xml
« Risposta #1 il: 03 Maggio 2015, 12:14:09 CEST »
0
Quello è il log? Mi sembra un po diverso dal solito.

Offline agenio

  • Utente junior
  • **
  • Post: 77
  • Respect: +11
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Moto G
  • Sistema operativo:
    Windows 8.1
Re:API 22 e colors.xml
« Risposta #2 il: 03 Maggio 2015, 12:15:51 CEST »
0
Cosa c'è quì?

Codice: [Seleziona]
at com.mp.book.MainActivity.onCreate(MainActivity.java:41)

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:API 22 e colors.xml
« Risposta #3 il: 03 Maggio 2015, 12:19:54 CEST »
0
ciao.

c'è questo:
Codice: [Seleziona]
txtSearch.addTextChangedListener(new TextWatcher() { // RIGA 41

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                adapter.getFilter().filter(s);
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            @Override
            public void afterTextChanged(Editable s) {
            }
        });
che ha sempre funzionato, e che funziona senza quel colors.xml.

Offline agenio

  • Utente junior
  • **
  • Post: 77
  • Respect: +11
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Moto G
  • Sistema operativo:
    Windows 8.1
Re:API 22 e colors.xml
« Risposta #4 il: 03 Maggio 2015, 12:22:00 CEST »
0
Quindi sembra che fallisca a creare l'istanza txtSearch che appunto quando arriva lì se la trova NULL.

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:API 22 e colors.xml
« Risposta #5 il: 03 Maggio 2015, 15:15:13 CEST »
0
eh si, ma il discorso è questo: se cancello il file colors.xml tutto funziona, e txtSearch, che in teoria non trova, fa esattamente quello che deve fare.
e cioè fare da filtro di ricerca per la list_view.

quello che non capisco è perchè non funziona se c'è quel file.
cioè la cosa è alquanto anomala.

cmq a scanso di equivoci ho ricontrollato il layout, e quel componente c'è e con l'id giusto.
vi posto l'inizio dell'Activity e il layout:
Codice: [Seleziona]
public class MainActivity extends ListActivity {

    private ArrayList<HashMap<String, String>> list;
    private JsonAdapter adapter;
    private ListView listView;
    private EditText txtSearch = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = getListView();
        setLista();
        txtSearch = (EditText) findViewById(R.id.txt_search);
        txtSearch.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                adapter.getFilter().filter(s);
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            @Override
            public void afterTextChanged(Editable s) {
            }
        });
    }
..................
}
layout:
Codice: [Seleziona]
<?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:focusable="true"
              android:focusableInTouchMode="true"
              android:orientation="vertical">

    <EditText
        android:id="@+id/txt_search"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="@string/cerca"
        android:maxLines="1" />

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>
magari c'è un errore che non so!

Post unito: 03 Maggio 2015, 18:27:37 CEST
allora, ho provato a levare la EditText, e adesso ho un errore simile nell'adapter che riempie la listview.
questo il layout:
Codice: [Seleziona]
<?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" >

    <TextView
        android:id="@+id/txt_titolo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textIsSelectable="true"
        android:paddingLeft="2sp" />

    <TextView
        android:id="@+id/txt_autore"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="2dip"
        android:textColor="#4caf50"
        android:textIsSelectable="true"
        android:paddingLeft="2sp">
    </TextView>

</LinearLayout>
questo il pezzo di adapter che da errore:
Codice: [Seleziona]
    @Override
    public View getView(int position, View view, ViewGroup parent) {
        View v = view;
        if (view == null) {
            v = inflater.inflate(R.layout.list_layout, null);
        }
        TextView txtTitolo = (TextView) v.findViewById(R.id.txt_titolo);
        TextView txtAutore = (TextView) v.findViewById(R.id.txt_autore);
        HashMap<String, String> map = new HashMap<String, String>();
        map = data.get(position);
        txtTitolo.setText(map.get("title"));  -->java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
        txtAutore.setText(map.get("author"));
        return v;
    }
anche qui, se cancello il file colors.xml non ho errori.
« Ultima modifica: 03 Maggio 2015, 18:27:37 CEST da fermat, Reason: Merged DoublePost »

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:API 22 e colors.xml
« Risposta #6 il: 10 Maggio 2015, 11:15:08 CEST »
0
ho ricominciato dal punto iniziale, e dopo ogni singola modifica ho fatto un build&clean.
adesso funziona tutto.

ciao!!