CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: bluemask con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 5 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 31 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 8 su 8
Discussione:

Aiuto applicazione

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jul 2010
    Messaggi
    16

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Aiuto applicazione

    Salve a tutti. Da un po di tempo sto cercando di sistemare un progetto che ho fatto per android(usando eclipse). Questa applicazione deve consentire all'utente di visualizzare una sorta di galleria, con musica in sottofondo.
    Il problema è dopo aver creato i tasti "avanti" e "indietro" non riesco a farli funzionare, in compenso ho creato di prova un tasto "exit" e questo riesce a funzionare(inoltre se le immagini vengono selezionate mediante i tasti direzionali della periferica virtuale si riesce a effettuare lo "switching"). Ho usato "onclicklistener" per i tasti "avanti" ed indietro però non riesco a scrivere,in java, l'azione che deve eseguire.
    Mi scuso per l'incompetenza.

    Questo è il codice
     
    1
    2
    package net.progetto.Fumetto;
    3
    4
    5
    import java.io.IOException;
    6
    7
    import android.app.Activity;
    8
    import android.content.Intent;
    9
    import android.media.MediaPlayer;
    10
    import android.os.Bundle;
    11
    import android.util.Log;
    12
    import android.view.KeyEvent;
    13
    import android.view.View.OnClickListener;
    14
    import android.view.ViewGroup.LayoutParams;
    15
    import android.widget.AdapterView.OnItemSelectedListener;
    16
    import android.widget.Button;
    17
    import android.widget.Gallery;
    18
    import android.widget.ImageView;
    19
    import android.widget.LinearLayout;
    20
    import android.widget.AdapterView;
    21
    import android.widget.AdapterView.OnItemClickListener;
    22
    import android.widget.Gallery;
    23
    import android.widget.GridView;
    24
    import android.widget.ImageView;
    25
    import android.widget.LinearLayout;
    26
    import android.widget.TextView;
    27
    import android.widget.Toast;
    28
    import android.view.View;
    29
    30
    31
    public class ViewsActivity extends Activity implements OnClickListener //aggiunto implements
    32
    {
    33
        
    34
        private LinearLayout mLinearLayout;
    35
        private Gallery g;
    36
        private MediaPlayer mp;
    37
        private ImageView i;
    38
        private Thread th;
    39
        private Runnable viewUpdate;
    40
        private int m_index = 0;
    41
        
    42
    43
        private OnClickListener mImageListener = new OnClickListener() 
    44
        {
    45
            @Override
    46
            public void onClick(View v) 
    47
            {
    48
                
    49
                setContentView(R.layout.main);
    50
                g = (Gallery) findViewById(R.id.gallery1);
    51
                g.setAdapter(new ImageAdapter(v.getContext()));
    52
                g.setOnItemClickListener(mGalleryClickListener);
    53
                g.setOnItemSelectedListener(mGallerySelectedListener);
    54
            }
    55
        };
    56
        
    57
        private OnItemSelectedListener mGallerySelectedListener = new OnItemSelectedListener()
    58
        {
    59
            @Override
    60
            public void onItemSelected(AdapterView adapter, View v, int i, long lng) 
    61
            {
    62
            
    63
                String descr = "";
    64
                switch(i)
    65
                {
    66
                case 0:
    67
                    descr = "scena1";
    68
                    break;
    69
                case 1:
    70
                    descr = "scena2";
    71
                    break;
    72
                case 2:
    73
                    descr = "scena3";
    74
                    break;
    75
                case 3:
    76
                    descr = "scena4";
    77
                    break;
    78
                case 4:
    79
                    descr = "scena5";
    80
                    break;
    81
                case 5:
    82
                    descr = "scena6";
    83
                    break;
    84
                case 6:
    85
                    descr = "scena7";
    86
                    break;
    87
                case 7: 
    88
                    descr = "scena8";
    89
                    break;
    90
                case 8:
    91
                    descr = "scena9";
    92
                    break;
    93
                case 9:
    94
                    descr = "scena10";
    95
                    break;
    96
                }
    97
                Toast.makeText(ViewsActivity.this, descr, Toast.LENGTH_SHORT).show();
    98
            }
    99
    100
            @Override
    101
            public void onNothingSelected(AdapterView arg0) 
    102
            {
    103
                
    104
            }
    105
        };
    106
        
    107
        private OnItemClickListener mGalleryClickListener = new OnItemClickListener()
    108
        {
    109
            public void onItemClick(AdapterView parent, View v, int position, long id) 
    110
            {
    111
           
    112
                switch(position)
    113
                {
    114
                case 0:
    115
                    i.setImageResource(R.drawable.pic1);
    116
                    break;
    117
                case 1:
    118
                    i.setImageResource(R.drawable.pic2);
    119
                    break;
    120
                case 2:
    121
                    i.setImageResource(R.drawable.pic3);
    122
                    break;
    123
                case 3:
    124
                    i.setImageResource(R.drawable.pic4);
    125
                    break;
    126
                case 4:
    127
                    i.setImageResource(R.drawable.pic5);
    128
                    break;
    129
                case 5:
    130
                    i.setImageResource(R.drawable.pic6);
    131
                    break;
    132
                case 6:
    133
                    i.setImageResource(R.drawable.pic7);
    134
                    break;
    135
                case 7:
    136
                    i.setImageResource(R.drawable.pic8);
    137
                    break;
    138
                case 8:
    139
                    i.setImageResource(R.drawable.pic9);
    140
                    break;
    141
                case 9: 
    142
                    i.setImageResource(R.drawable.pic10);
    143
                
    144
                }
    145
                
    146
                setContentView(mLinearLayout);
    147
            }
    148
        };
    149
        
    150
    151
        @Override
    152
        public void onCreate(Bundle savedInstanceState) {
    153
            
    154
            super.onCreate(savedInstanceState);
    155
            
    156
            
    157
            mp = MediaPlayer.create(this, R.raw.song);
    158
            mp.start();
    159
            
    160
            setContentView(R.layout.main);
    161
                
    162
            final Button buttonexit = (Button) findViewById(R.id.Exit);
    163
            buttonexit.setOnClickListener(new View.OnClickListener() {
    164
                
    165
                @Override
    166
                public void onClick(View v) {
    167
                    finish();   
    168
                    }
    169
            });
    170
           
    171
            g = (Gallery) findViewById(R.id.gallery1);
    172
            g.setAdapter(new ImageAdapter(this));
    173
            g.setOnItemClickListener(mGalleryClickListener);
    174
            g.setOnItemSelectedListener(mGallerySelectedListener);
    175
            
    176
    177
            mLinearLayout = new LinearLayout(this);
    178
            
    179
            i = new ImageView(this);
    180
            i.setImageResource(R.drawable.pic1);
    181
            i.setAdjustViewBounds(true);
    182
            i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    183
       
    184
            mLinearLayout.addView(i);
    185
          
    186
            mLinearLayout.setOnClickListener(mImageListener);
    187
            
    188
            
    189
            
    190
            
    191
        }
    192
         
    193
        
    194
        
    195
      
    196
    197
        private Runnable updateImg = new Runnable() 
    198
        { 
    199
            
    200
            @Override
    201
            public void run() 
    202
            {
    203
                
    204
                switch(m_index)
    205
                {
    206
                case 0:
    207
                    i.setImageResource(R.drawable.pic1);
    208
                    m_index = m_index+1;
    209
                    break;
    210
                case 1:
    211
                    i.setImageResource(R.drawable.pic2);
    212
                    m_index = m_index+1;
    213
                    break;
    214
                case 2:
    215
                    i.setImageResource(R.drawable.pic3);
    216
                    m_index = m_index+1;
    217
                    break;
    218
                case 3:
    219
                    i.setImageResource(R.drawable.pic4);
    220
                    m_index = m_index+1;
    221
                    break;  
    222
                case 4:
    223
                    i.setImageResource(R.drawable.pic5);
    224
                    m_index = 0;
    225
                    break;
    226
                }
    227
            }
    228
        };
    229
    230
    231
        @Override
    232
        public void onClick(View v) {
    233
            // TODO Auto-generated method stub
    234
            
    235
        }
    236
    237
        }
    238
    239
    240
    241
    242

  2.  
  3. #2
    Administrator L'avatar di Andrea


    Registrato dal
    Nov 2008
    Messaggi
    3,368
    Smartphone
    Nexus S, myTouch Slide 4g

    Ringraziamenti
    143
    Ringraziato 880 volte in 323 Posts
    Predefinito

    Scusa, ma il codice per il next e il prev dov'è ?

    Twitter @veke87

  4. #3
    Baby Droid


    Registrato dal
    Jul 2010
    Messaggi
    16

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    E' questo il problema, stavo chiedendo consiglio per capire se inserire i metodi nella stessa parte di codice dove ho inserito "buttonexit" e se mi conveniva usare onKeyDown o onclicklistener.

  5. #4
    Baby Droid


    Registrato dal
    Jul 2010
    Messaggi
    16

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ho risolto il problema con
    21
     
    1
    2
     final Button buttonindietro = (Button) findViewById(R.id.Indietro);
    3
            buttonindietro.setOnClickListener(new View.OnClickListener() {
    4
                
    5
                @Override
    6
                
    7
                public void onClick(View v) {
    8
                    g.onKeyDown(KeyEvent.KEYCODE_DPAD_LEFT, null);
    9
                }
    10
            });
    11
                  
    12
                
    13
            
    14
            final Button buttonexit = (Button) findViewById(R.id.Exit);
    15
            buttonexit.setOnClickListener(new View.OnClickListener() {
    16
                
    17
                @Override
    18
                public void onClick(View v) {
    19
                    finish();   
    20
                    }
    21
            });


    Ora sto provando a visualizzare l'immagine che viene selezionata dalla galleria, mediante i bottoni sopra citati. Avevo pensato ad una makeview(posta dopo oncreatebundle), potrebbe assolvere la funzione che sto cercando?

  6. #5
    Baby Droid


    Registrato dal
    Jul 2010
    Messaggi
    16

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ora il programma funziona, funzionano i tasti per switchare avanti e indietro e la galleria, però ora sto cercando di mostrare le immagini ingrandite nella stessa finestra.
    310
     
    1
    2
    package net.learn2develop.AndroidViews;
    3
    4
    5
    import java.io.IOException;
    6
    7
    8
    import android.app.Activity;
    9
    import android.content.Context;
    10
    import android.content.Intent;
    11
    import android.content.res.TypedArray;
    12
    import android.graphics.drawable.Drawable;
    13
    import android.media.MediaPlayer;
    14
    import android.os.Bundle;
    15
    import android.util.Log;
    16
    import android.view.KeyEvent;
    17
    import android.view.ViewGroup;
    18
    import android.view.View.OnClickListener;
    19
    import android.view.ViewGroup.LayoutParams;
    20
    import android.widget.Adapter;
    21
    import android.widget.AdapterView.OnItemSelectedListener;
    22
    import android.widget.Button;
    23
    import android.widget.Gallery;
    24
    import android.widget.ImageView;
    25
    import android.widget.LinearLayout;
    26
    import android.widget.AdapterView;
    27
    import android.widget.AdapterView.OnItemClickListener;
    28
    import android.widget.BaseAdapter;
    29
    import android.widget.Gallery;
    30
    import android.widget.GridView;
    31
    import android.widget.ImageSwitcher;
    32
    import android.widget.ImageView;
    33
    import android.widget.LinearLayout;
    34
    import android.widget.SpinnerAdapter;
    35
    import android.widget.TextView;
    36
    import android.widget.Toast;
    37
    import android.view.View;
    38
    import android.widget.ViewSwitcher.ViewFactory;
    39
    40
    public class ViewsActivity extends Activity implements OnClickListener  
    41
    {
    42
        //
    43
        private Integer[] ImgIds = { R.drawable.pic1, R.drawable.pic2, R.drawable.pic3, R.drawable.pic4 };
    44
        private LinearLayout mLinearLayout;
    45
        private Gallery g;
    46
        private MediaPlayer mp;
    47
        private ImageView i;
    48
        private Thread th;
    49
        private Runnable viewUpdate;
    50
        private int m_index = 0;
    51
        
    52
    53
        private OnClickListener mImageListener = new OnClickListener() 
    54
        {
    55
            @Override
    56
            public void onClick(View v) 
    57
            {
    58
                
    59
                setContentView(R.layout.main);
    60
                g = (Gallery) findViewById(R.id.gallery1);
    61
                g.setAdapter(new ImageAdapter(v.getContext()));
    62
                g.setOnItemClickListener(mGalleryClickListener);
    63
                g.setOnItemSelectedListener(mGallerySelectedListener);
    64
            }
    65
        };
    66
        
    67
        private OnItemSelectedListener mGallerySelectedListener = new OnItemSelectedListener()
    68
        {
    69
            @Override
    70
            public void onItemSelected(AdapterView adapter, View v, int i, long lng) 
    71
            {
    72
            
    73
                String descr = "";
    74
                switch(i)
    75
                {
    76
                case 0:
    77
                    descr = "scena1";
    78
                    break;
    79
                case 1:
    80
                    descr = "scena2";
    81
                    break;
    82
                case 2:
    83
                    descr = "scena3";
    84
                    break;
    85
                case 3:
    86
                    descr = "scena4";
    87
                    break;
    88
                case 4:
    89
                    descr = "scena5";
    90
                    break;
    91
                case 5:
    92
                    descr = "scena6";
    93
                    break;
    94
                case 6:
    95
                    descr = "scena7";
    96
                    break;
    97
                case 7: 
    98
                    descr = "scena8";
    99
                    break;
    100
                case 8:
    101
                    descr = "scena9";
    102
                    break;
    103
                case 9:
    104
                    descr = "scena10";
    105
                    break;
    106
                }
    107
                Toast.makeText(ViewsActivity.this, descr, Toast.LENGTH_SHORT).show();
    108
            }
    109
    110
            @Override
    111
            public void onNothingSelected(AdapterView arg0) 
    112
            {
    113
                
    114
            }
    115
        };
    116
        
    117
        private OnItemClickListener mGalleryClickListener = new OnItemClickListener()
    118
        {
    119
        
    120
            public void onItemClick(AdapterView parent, View v, int position, long id) 
    121
            {
    122
           
    123
                switch(position)
    124
                {
    125
                case 0:
    126
                    i.setImageResource(R.drawable.pic1);
    127
                    break;
    128
                case 1:
    129
                    i.setImageResource(R.drawable.pic2);
    130
                    break;
    131
                case 2:
    132
                    i.setImageResource(R.drawable.pic3);
    133
                    break;
    134
                case 3:
    135
                    i.setImageResource(R.drawable.pic4);
    136
                    break;
    137
                case 4:
    138
                    i.setImageResource(R.drawable.pic5);
    139
                    break;
    140
                case 5:
    141
                    i.setImageResource(R.drawable.pic6);
    142
                    break;
    143
                case 6:
    144
                    i.setImageResource(R.drawable.pic7);
    145
                    break;
    146
                case 7:
    147
                    i.setImageResource(R.drawable.pic8);
    148
                    break;
    149
                case 8:
    150
                    i.setImageResource(R.drawable.pic9);
    151
                    break;
    152
                case 9: 
    153
                    i.setImageResource(R.drawable.pic10);
    154
                    break;
    155
                }
    156
                
    157
                
    158
    159
                
    160
                setContentView(mLinearLayout);
    161
            }
    162
        };
    163
        
    164
    165
        @Override
    166
        public void onCreate(Bundle savedInstanceState) {
    167
            
    168
            super.onCreate(savedInstanceState);
    169
            setContentView(R.layout.main);
    170
            
    171
            mp = MediaPlayer.create(this, R.raw.song);
    172
            mp.start();
    173
            Gallery g = (Gallery) findViewById(R.id.gallery1);
    174
            g.setAdapter(new ImageAdapter(this));
    175
            g.setOnItemClickListener(new OnItemClickListener(){
    176
                public void onItemClick(AdapterView parent, View v, int position, long id) { 
    177
                    if (position >= ImgIds.length) { 
    178
                        position = position % ImgIds.length; 
    179
                    } 
    180
                  //  Toast.makeText(this, ""+position, Toast.LENGTH_SHORT).show();
    181
            }
    182
            });
    183
        
    184
        }
    185
            //
    186
            public class ImageAdapter extends BaseAdapter { 
    187
                int mGalleryItemBackground; 
    188
                private Context mContext; 
    189
    190
                public ImageAdapter(Context c) { 
    191
                    mContext = c; 
    192
                    TypedArray a = obtainStyledAttributes(R.styleable.Gallery1); 
    193
                    mGalleryItemBackground = a.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 0); 
    194
    195
                    a.recycle(); 
    196
                } 
    197
    198
                public int getCount() { 
    199
                    return Integer.MAX_VALUE; 
    200
                } 
    201
    202
                public Object getItem(int position) { 
    203
                    if (position >= ImgIds.length) { 
    204
                        position = position % ImgIds.length; 
    205
                    } 
    206
                    return position; 
    207
                } 
    208
    209
                public long getItemId(int position) { 
    210
                    if (position >= ImgIds.length) { 
    211
                        position = position % ImgIds.length; 
    212
                    } 
    213
                    return position; 
    214
                } 
    215
    216
                public View getView1(int position, View convertView, ViewGroup parent) { 
    217
                    ImageView i = new ImageView(mContext); 
    218
                    if (position >= ImgIds.length) { 
    219
                        position = position % ImgIds.length; 
    220
                    } 
    221
                    i.setImageResource(ImgIds[position]); 
    222
                    i.setLayoutParams(new LayoutParams(80, 80)); 
    223
                    i.setScaleType(ImageView.ScaleType.FIT_XY); 
    224
                    i.setBackgroundResource(mGalleryItemBackground); 
    225
                    return i; 
    226
                } 
    227
    228
                public int checkPosition(int position) { 
    229
                    if (position >= ImgIds.length) { 
    230
                        position = position % ImgIds.length; 
    231
                    }
    232
                
    233
                    return position; 
    234
                
    235
            
    236
                     
    237
            
    238
        final Button buttonavanti = (Button) findViewById(R.id.Avanti);
    239
            buttonavanti.setOnClickListener(new View.OnClickListener() {
    240
                
    241
                @Override
    242
                public void onClick(View v) {
    243
                    g.onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, null);
    244
                    
    245
                     
    246
                }
    247
            }); 
    248
            
    249
            final Button buttonindietro = (Button) findViewById(R.id.Indietro);
    250
            buttonindietro.setOnClickListener(new View.OnClickListener() {
    251
                
    252
                @Override
    253
                
    254
                public void onClick(View v) {
    255
                    g.onKeyDown(KeyEvent.KEYCODE_DPAD_LEFT, null);
    256
                }
    257
            });
    258
                  
    259
                
    260
            
    261
            final Button buttonexit = (Button) findViewById(R.id.Exit);
    262
            buttonexit.setOnClickListener(new View.OnClickListener() {
    263
                
    264
                @Override
    265
                public void onClick(View v) {
    266
                    finish();   
    267
                    }
    268
            });
    269
    270
                
    271
    272
            mLinearLayout = new LinearLayout(ViewsActivity.this);
    273
            
    274
            i = new ImageView(ViewsActivity.this);
    275
            i.setImageResource(R.drawable.pic1);
    276
            i.setAdjustViewBounds(true);
    277
            i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    278
       
    279
            mLinearLayout.addView(i);
    280
          
    281
            mLinearLayout.setOnClickListener(mImageListener);
    282
            
    283
            
    284
            
    285
            
    286
        }
    287
         
    288
    289
        public void onClick(View v) {
    290
            // TODO Auto-generated method stub
    291
            
    292
        }
    293
    294
        @Override
    295
        public View getView(int position, View convertView, ViewGroup parent) {
    296
            // TODO Auto-generated method stub
    297
            return null;
    298
        }
    299
    300
        }
    301
            @Override
    302
            public void onClick(View v) {
    303
                // TODO Auto-generated method stub
    304
                
    305
            }
    306
    }
    307
    308
    309
    310




    però all'altezza del final button mi dice che il codice non è raggiungibile, non riesco a capire l'errore.
    Grazie anticipatamente.

  7. #6
    Senior Droid


    Registrato dal
    May 2010
    Località
    Rivoli
    Messaggi
    426

    Ringraziamenti
    6
    Ringraziato 48 volte in 47 Posts
    Predefinito

    C'è un componente Gallery che fa proprio al caso tuo, così ti eviti una tonnellata di codice (e di grattacapi, e di errori, e di debug, ...).

  8. #7
    Baby Droid


    Registrato dal
    Jul 2010
    Messaggi
    16

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ho usato la gallery per creare la galleria "scorrevole" in alto e ora ho risolto il problema del button, però il programma crasha.
    In sostanza vorrei solo avere una cosa del genere

    http://www.androidpeople.com/wp-cont...gegallery2.png

    Non capisco perché non funziona nel mio codice.

  9. #8
    Androidiano L'avatar di Jordano


    Registrato dal
    Nov 2010
    Località
    Reggio Emilia
    Messaggi
    263
    Smartphone
    Nexus S / HTC Magic 32a

    Ringraziamenti
    1
    Ringraziato 48 volte in 46 Posts
    Predefinito

    se non lo capisci tu che lo stai scrivendo figuriamoci chi legge senza neanche avere il codice che ora hai cambiato. Posta l'output di logcat riguardante l'errore...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy