Два блесны в приложении для Android - PullRequest
1 голос
/ 30 июня 2011

У меня проблема с счетчиками,

в моем приложении - это два счетчика, которые получают данные из базы данных,

, когда я выбираю один вариант из первого счетчика, я хочу удалить этот параметр извторой счетчик и добавьте опцию, которую я удалил из второго счетчика, в первый счетчик и наоборот.

Как я могу это сделать?

Это мой настоящий код:

public void showScoresCalculator() {
    setContentView(R.layout.scores_calculator);

    Typeface font = Typeface.createFromAsset(getAssets(),"fonts/HelveticaProCn.ttf");

    TextView txt = (TextView) findViewById(R.id.txt);
    txt.setTypeface(font);

    TextView team = (TextView) findViewById(R.id.choose_team);
    team.setTypeface(font);     

    TextView group = (TextView) findViewById(R.id.choose_group);
    group.setTypeface(font);    

    TextView title = (TextView) findViewById(R.id.textView1);
    title.setTypeface(font);        

    TextView title2 = (TextView) findViewById(R.id.textView2);
    title2.setTypeface(font);   

    final Spinner sp = (Spinner) findViewById(R.id.spinner3);
    final Spinner sp1 = (Spinner) findViewById(R.id.spinner4);

    final DataBaseHelper.MyData[] items = this.dh.getTeamsNameAndIDs("38");
    final DataBaseHelper.MyData d = items[(int) sp.getSelectedItemId()];

    final DataBaseHelper.MyData[] items2 = this.dh
            .getTeamsNameAndIDs("47");
    final DataBaseHelper.MyData d1 = items2[(int) sp1.getSelectedItemId()];

    final ArrayAdapter<DataBaseHelper.MyData> adapter = new ArrayAdapter<DataBaseHelper.MyData>(
            this, android.R.layout.simple_spinner_item,
            this.dh.getTeamsNameAndIDs("38"));

    final ArrayAdapter<DataBaseHelper.MyData> adapter1 = new ArrayAdapter<DataBaseHelper.MyData>(
            this, android.R.layout.simple_spinner_item,
            this.dh.getTeamsNameAndIDs("47"));

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    sp.setAdapter(adapter);
    sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {
            DataBaseHelper.MyData d = items2[(int) sp1.getSelectedItemId()];
            DataBaseHelper.MyData d1 = items[position];
            home = d.getValue();
            away = d1.getValue();
            if(Integer.valueOf(home.toString()) ==  Integer.valueOf(away.toString())) {
                Toast.makeText(getApplicationContext(), "Nie możesz wybrać dwóch tych samych drużyn.", Toast.LENGTH_SHORT).show();
            }else {
                showChart(d1.getValue(), d.getValue(), d1.getSpinnerText(), d.getSpinnerText(), "REMIS");
            }
        }

        public void onNothingSelected(AdapterView<?> parent) {
        }
    });

    adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    sp1.setAdapter(adapter1);
    sp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {

            DataBaseHelper.MyData d = items[(int) sp.getSelectedItemId()];
            DataBaseHelper.MyData d1 = items2[position];

            home = d.getValue();
            away = d1.getValue();

            if(Integer.valueOf(home.toString()) ==  Integer.valueOf(away.toString())) {
                Toast.makeText(getApplicationContext(), "Nie możesz wybrać dwóch tych samych drużyn.", Toast.LENGTH_SHORT).show();
            }else {
                showChart(d.getValue(), d1.getValue(), d.getSpinnerText(), d1.getSpinnerText(), "REMIS");
            }

        }

        public void onNothingSelected(AdapterView<?> parent) {
        }
    });

    final Button next = (Button) findViewById(R.id.next);
    final Button prev = (Button) findViewById(R.id.prev);

    next.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            showNewsPage();
        }
    });

    prev.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            showGroupCalculator();
        }
    });
    Page = true;
}

Пожалуйста, помогите мне!:)

1 Ответ

1 голос
/ 30 июня 2011

Обновите адаптер, удалив выбранные данные из списка.Для обновления адаптера используйте концепцию Handler .

Установите новый адаптер на Spinner с помощью setAdapter ().Или, если это ArrayAdapter, используйте add (), insert () и remove () для изменения данных.Или, если это CursorAdapter, запросите его для получения свежих данных.

...