2013-03-26 3 views
1

привет всем, У меня есть три прядильщика. В том, что я хочу изменить изменение значения второго счетчика на основе первого значения счетчика и третьего изменения счетчика, основанного на втором значении счетчика, все значения выбираются и отображается из базы данных. Я использую ArrayAdapter. Я искал последние две недели. Но я не получаю решение, любезно помогите мне, у меня заканчивается время.Значение счетчика Изменение на основе изменения значения родительского счетчика

+0

Отправьте свой код ... – Tushar

+0

Уважаемый всех, Помогите мне, у меня истекает время. любезно дать полный источник для выполнения программы PLS – venkateswaran

+0

, что вы пробовали? – rajeshwaran

ответ

2

может быть это поможет,

ArrayAdapter<String> secondspinnerAdapter; 
ArrayAdapter<String> firstspinnerAdapter = new ArrayAdapter<String>(
       MainActivity.this, android.R.layout.simple_spinner_item, 
       firstspinnervalue); 
     first_spinner.setAdapter(firstspinnerAdapter); 
     firstspinnerAdapter 
       .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 


firstspinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> arg0, View arg1, 
        int arg2, long arg3) { 
       // TODO Auto-generated method stub 

        // get data from database add to arraylist 

         secondspinnerAdapter = new 
         ArrayAdapter<String>(mainActivity.this, 
         android.R.layout.simple_spinner_item, arraylistvalue); 
         second_spinner.setAdapter(secondspinnerAdapter); 
         second_spinner.setSelection(arg2, false); 
         secondspinnerAdapter.setDropDownViewResource 
         (android.R.layout.simple_spinner_dropdown_item); 

      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 

      } 
     }); 

первый элемент вертушка выбран , затем получить данные из базы данных и заполнить arraylist и установить secondpinner.

такой же способ последующий второй счетчик пункт выбран.

+0

@rajehwaran Я получил ответ от ур-фрагмента, спасибо за вашу помощь – venkateswaran

3

вы должны просто установить адаптер, как:

package com.example.mapsdemo; 

import java.util.ArrayList; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 

public class MainActivity extends Activity { 

    private Spinner spin1; 
    private Spinner spin2; 

    ArrayList<String> a = new ArrayList<String>(); 
    ArrayList<String> b = new ArrayList<String>(); 
    ArrayList<String> c = new ArrayList<String>(); 

    // private ImageView imageView; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     spin1 = (Spinner) findViewById(R.id.spinner1); 
     spin2 = (Spinner) findViewById(R.id.spinner2); 

     fillarray(); 

     spin1.setAdapter(new ArrayAdapter<String>(MainActivity.this, 
       android.R.layout.simple_dropdown_item_1line, a)); 
     /* 
     * spin2.setAdapter(new ArrayAdapter<String>(MainActivity.this, 
     * android.R.layout.simple_dropdown_item_1line, b)); 
     */ 

     spin1.setOnItemSelectedListener(new OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> arg0, View arg1, int pos, 
        long arg3) { 
       // TODO Auto-generated method stub 
       if (pos == 0) { 
        spin2.setAdapter(new ArrayAdapter<String>(
          MainActivity.this, 
          android.R.layout.simple_dropdown_item_1line, b)); 
       } else { 
        spin2.setAdapter(new ArrayAdapter<String>(
          MainActivity.this, 
          android.R.layout.simple_dropdown_item_1line, c)); 
       } 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 

      } 
     }); 
    } 

    private void fillarray() { 
     // TODO Auto-generated method stub 
     a.clear(); 
     a.add("a"); 
     a.add("b"); 
     a.add("c"); 
     a.add("d"); 
     a.add("e"); 

     b.clear(); 
     b.add("1"); 
     b.add("2"); 
     b.add("3"); 
     b.add("4"); 

     c.clear(); 
     c.add("Android"); 
     c.add("ios"); 
    } 

} 

файл макета, как:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <Spinner 
     android:id="@+id/spinner1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="40dp" /> 

    <Spinner 
     android:id="@+id/spinner2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/spinner1" 
     android:layout_marginTop="80dp" /> 

</RelativeLayout>