Autore Topic: [PROBLEMA] Navigation Drawer Icons  (Letto 702 volte)

Offline Majestcx

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Ace, Next, S3 e Tablet Asus e il mitico OnePlus One *-*
  • Sistema operativo:
    Ubuntu 14.10, Windows 8.1
[PROBLEMA] Navigation Drawer Icons
« il: 09 Febbraio 2015, 21:57:44 CET »
0
Salve, ho un problema per mettere le icone sul NavigationDrawer della mia app..
(Ho creato il mio progetto sfruttando la base che da "Android Studio" con il Navigation Drawer)

Classe dell'ItemList:
Codice (Java): [Seleziona]
package com.skyonet.lukeapp20;

import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class CustomList extends ArrayAdapter<String> {
    private final Activity context;
    private final String[] web;
    private final Integer[] imageId;

    public CustomList(Context context, String[] web, Integer[] imageId) {
        super(context, R.layout.list_item, web);
        this.context = (Activity) context;
        this.web = web;
        this.imageId = imageId;
    }

    @Override
    public View getView(int position, View view, ViewGroup parent) {
        LayoutInflater inflater = context.getLayoutInflater();
        View rowView= inflater.inflate(R.layout.list_item, null, true);
        TextView txtTitle = (TextView) rowView.findViewById(R.id.Itemname);
        ImageView imageView = (ImageView) rowView.findViewById(R.id.img);
        txtTitle.setText(web[position]);
        imageView.setImageResource(imageId[position]);
        return rowView;
    }
}

Activity dell'Item:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >
    <TableRow>
        <ImageView
           android:id="@+id/img"
           android:src="@drawable/ic_drawer"
           android:layout_width="50dp"
           android:layout_height="50dp"/>
        <TextView
           android:id="@+id/Itemname"
           android:layout_width="wrap_content"
           android:layout_height="50dp" />
    </TableRow>
</TableLayout>

(FRAGMENT) E questa che metterò dopo è la classe del navigation drawer che contiene il "setAdapter":

Orginale:
Codice (Java): [Seleziona]
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        mDrawerListView = (ListView) inflater.inflate(
                R.layout.fragment_navigation_drawer, container, false);
        mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                selectItem(position);
            }
        });
        mDrawerListView.setAdapter(new ArrayAdapter<String>(
                getActionBar().getThemedContext(),
                android.R.layout.simple_list_item_2,
                android.R.id.text1,
                new String[]{
                        getString(R.string.title_section1),
                        getString(R.string.title_section2),
                        getString(R.string.title_section3),
                        getString(R.string.title_section4),
                        getString(R.string.title_section5),
                        getString(R.string.title_section6),
                        getString(R.string.title_section7),
                }));
        mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
        return mDrawerListView;
    }

Il mio:
Codice (Java): [Seleziona]
mDrawerListView.setAdapter(new CustomList(Main.this, *ArrayString*, *ArrayImages*));
Il mio problema è che quando metto il "Main.this" o simile e avvio l'applicazione, nel log, mi esce l'errore di crash:
"Nessuna Activity trovata..", come posso ovviare a ciò?

Spero di essere stato sufficientemente chiaro, e grazie mille per le risposte.

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:[PROBLEMA] Navigation Drawer Icons
« Risposta #1 il: 10 Febbraio 2015, 08:57:09 CET »
0
ciao se vuoi un esempio di Nav.Drawer qui ne ho messo uno già pronto funzionante: https://github.com/balduzzi85/it.balduzzi.customnavigationdrawer

Offline Majestcx

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Ace, Next, S3 e Tablet Asus e il mitico OnePlus One *-*
  • Sistema operativo:
    Ubuntu 14.10, Windows 8.1
Re:[PROBLEMA] Navigation Drawer Icons
« Risposta #2 il: 10 Febbraio 2015, 11:22:41 CET »
0
ciao se vuoi un esempio di Nav.Drawer qui ne ho messo uno già pronto funzionante: https://github.com/balduzzi85/it.balduzzi.customnavigationdrawer

Grazie è fatto veramente bene, ma vorrei risolto questo, perché sarà una semplice lista.

Offline Majestcx

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Ace, Next, S3 e Tablet Asus e il mitico OnePlus One *-*
  • Sistema operativo:
    Ubuntu 14.10, Windows 8.1
Re:[PROBLEMA] Navigation Drawer Icons
« Risposta #3 il: 11 Febbraio 2015, 23:13:37 CET »
0
Nessuno ha idea di come risolvere?

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:[PROBLEMA] Navigation Drawer Icons
« Risposta #4 il: 12 Febbraio 2015, 09:19:32 CET »
0
Se provi a mettere getBaseContext () ?

Offline Majestcx

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Ace, Next, S3 e Tablet Asus e il mitico OnePlus One *-*
  • Sistema operativo:
    Ubuntu 14.10, Windows 8.1
Re:[PROBLEMA] Navigation Drawer Icons
« Risposta #5 il: 12 Febbraio 2015, 15:56:56 CET »
0
Se provi a mettere getBaseContext () ?
Questa sera provo.


Post unito: 12 Febbraio 2015, 20:14:21 CET
Se provi a mettere getBaseContext () ?

Ecco tutto l'errore:
Codice: [Seleziona]
02-12 20:13:32.847    6675-6675/com.skyonet.lukeapp20 E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.skyonet.lukeapp20, PID: 6675
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.skyonet.lukeapp20/com.skyonet.lukeapp20.Main}: android.view.InflateException: Binary XML file line #18: Error inflating class fragment
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5146)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.view.InflateException: Binary XML file line #18: Error inflating class fragment
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
            at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
            at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:631)
            at android.view.LayoutInflater.inflate(Native Method)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at com.skyonet.lukeapp20.Main.onCreate(Main.java:35)
            at android.app.Activity.performCreate(Activity.java:5231)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5146)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.IllegalStateException: Fragment NavigationDrawerFragment{41ed1600} not attached to Activity
            at android.support.v4.app.Fragment.getResources(Fragment.java:619)
            at android.support.v4.app.Fragment.getString(Fragment.java:641)
            at com.skyonet.lukeapp20.NavigationDrawerFragment.<init>(NavigationDrawerFragment.java:128)
            at java.lang.Class.newInstanceImpl(Native Method)
            at java.lang.Class.newInstance(Class.java:1208)
            at android.support.v4.app.Fragment.instantiate(Fragment.java:420)
            at android.support.v4.app.Fragment.instantiate(Fragment.java:395)
            at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2151)
            at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:297)
            at android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:547)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
            at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
            at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:631)
            at android.view.LayoutInflater.inflate(Native Method)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at com.skyonet.lukeapp20.Main.onCreate(Main.java:35)
            at android.app.Activity.performCreate(Activity.java:5231)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5146)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
            at dalvik.system.NativeStart.main(Native Method)
« Ultima modifica: 12 Febbraio 2015, 20:14:21 CET da Majestcx, Reason: Merged DoublePost »