Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
poparabole
0 / 0 / 0
Регистрация: 04.09.2014
Сообщений: 9
#1

Создание меню уровней - Программирование Android

05.10.2014, 16:59. Просмотров 415. Ответов 0
Метки нет (Все метки)

помогите с передачей данных из адаптера в активити, мне нужно так чтобы соблюдалось id по нажатию на кнопку, если проще, то по нажатию на уровень передаются данные нажатого уровня в другое активити. У меня проблема с передачей, по нажатию на любой уровень выдает параметры первого уровня, подскажите что не так у меня..
Код адаптера:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.example.mygames;
 
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
 
public class lvladapter extends BaseAdapter {
    private Context mContext;
    
    public tasklvl[] lvl = {
    new tasklvl ("android.resource://com.example.mygames/raw/" + R.raw.son_new, "son"),
    new tasklvl ("android.resource://com.example.mygames/raw/" + R.raw.trolley_new, "sona"),
    new tasklvl ("android.resource://com.example.mygames/raw/" + R.raw.son_new, "sons")
    };
    
    public lvladapter(Context c) {
        mContext = c;
    }
    
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return lvl.length; 
    }
 
    @Override
    public tasklvl getItem(int position) {
        // TODO Auto-generated method stub
        return lvl[position];
    }
 
    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return arg0;
    }
 
    
    
    @Override
    public View getView(final int position, View arg0, ViewGroup arg2) {
        Button button = new Button(mContext);
        button.setText(String.valueOf(position+1)); 
        button.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(mContext, actActionLvl.class);
 
                intent.putExtra("Key", getItem(position));
                mContext.startActivity(intent);
                
            }
            
      });
        return button;
    }
    
 
}
код уровня:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package com.example.mygames;
 
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.VideoView;
 
 
public class actActionLvl extends Activity implements OnClickListener {
 
        Button ok;
        EditText otvet;
        TextView rezalt;
        VideoView vv01;
        tasklvl lvl;
        //tasklvl lvl1 = new tasklvl ("android.resource://com.example.mygames/raw/" + R.raw.son_new, "son");    
        
        public void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainlvl);
        lvl = (tasklvl)getIntent().getSerializable("Key");
 
 
          
           ok = (Button) findViewById(R.id.ok);
           otvet = (EditText) findViewById(R.id.otvet);
           ok.setOnClickListener(this); 
           rezalt = (TextView) findViewById(R.id.rezalt);
 
           
           
           VideoView vv = (VideoView)this.findViewById(R.id.vv01);      
           Uri video = Uri.parse(lvl.geturl());
           vv.setVideoURI(video);       
           vv.start();
           
           
            OnClickListener oclBtnOk = new OnClickListener() {
                @Override
                public void onClick(View v) {
                    String otv = otvet.getText().toString();
                    switch (v.getId()) {
                    case R.id.ok:
                    if (lvl.proverka(otv)) {
                        rezalt.setText("правильно");
                    }  else {
                        
                        rezalt.setText("Неправильно");
                    }
                  
                    
                      break;
                      
                    }
  
                }
              };
            
              ok.setOnClickListener(oclBtnOk);
              
              
              
     
    
    
    }
 
    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        
    }       
}
код тасклвл:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.example.mygames;
 
import java.io.Serializable;
 
public class tasklvl  implements Serializable{
    private String  url, otvet;
    private Boolean win;
    
    public tasklvl (String  url, String otvet) {
        this.url = url;
        this.otvet = otvet;
        this.win = false;
        }
    
    public String geturl () {
        return this.url;    
    }   
    public void seturl (String u) {
        this.url = u;       
    }   
    
    public String getotvet () {
        return this.otvet;  
    }   
    public void setotvet (String o) {
        this.otvet = o;     
    }
    public Boolean getwin () {
        return this.win;    
    }   
    public void setwin (Boolean w) {
        this.win = w;       
    }
    
    public Boolean proverka (String text) {
        if (text.equalsIgnoreCase(this.getotvet())) {
            return true;
        } 
        else {
            return false;
        }   
    }
    
    
}
код меню уровня:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.example.mygames;
 
import android.app.Activity;
import android.os.Bundle;
import android.widget.GridView;
 
 
public class lvlActivity extends Activity {
    
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.lvl);
        
        GridView gridView = (GridView) findViewById(R.id.gvMain);
        gridView.setAdapter(new lvladapter(this));
        
        
        
        
        
    }
 
    
    
    
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2014, 16:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание меню уровней (Программирование Android):

Создание всплывающего меню - Программирование Android
Всем доброго времени суток. Вопрос такой - в проекте на Android Studio 2.1.3 пытаюсь создать всплывающее меню, привязанное к элементу. Меню...

Создание контекстного меню в списках - Программирование Android
Не понимаю как прикрепить контекстное меню к с писку. Что бы при нажатии на элемент вызывалось это меню и можно было проводить с этим...

Создание меню в приложении: О чем говорит ошибка? - Программирование Android
Делал все абсолютно так, как в этом видео, при запуске (Run app) вылазит ошибка, о чем она говорит? Что нужно исправить?

Создать базу данных с(Создание функции БД, Создание процедуры БД, Создание тригера БД) - Программирование Android
В задание для курсовой работы по БД входят вот такие пункты: 1.2 Создание функции БД. 1.3 Создание процедуры БД 1.4 Создание...

По умолчанию меню тулбара является прозрачным и сливается с фоном, как изменить фон текста меню? - Программирование Android
Здравствуйте уважаемые форумчане! Возникла следующая проблема, я использую для создания меню в xml файле теги <menu> и <item>, но дело в...

Хочу сделать подписи к меню, меню у меня создано ListView, есть два массива, как их передать в адаптер? - Программирование Android
public class MainMenu extends ListActivity { public void onCreate(Bundle cicle) { super.onCreate(cicle); ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2014, 16:59
Привет! Вот еще темы с ответами:

Меню только по нажатию кнопки меню - Программирование Android
Нужно создать в приложении меню. Но так, чтобы оно всплывало только по нажатию кнопки меню на девайсе а не еще и в Action Barе приложения(...

При нажатии на пункт меню скрыть его, и показать другой пункт меню - Программирование Android
Прошу помощи, как можно допустим при нажатии на пункт меню, его скрыть, и показать другой пункт меню? я делаю так : public boolean...

Выпадающее меню - разный размер шрифта для разных уровней меню - HTML, CSS
Есть у меня данный список, но возник вопрос: "как сделать чтобы в надписи буквы1 был шрифт 19px, а в выпадающем меню был шрифт 16px" ...

Вывести меню в несколько уровней - PHP
Пытаюсь сделать меню которое выводилось бы несколько уровней,на css код написан и работает,а вот сделать его выводом из базы на php не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru