2014-07-07 4 views
-5

팝업을 표시하는 데 버튼을 사용하고 있습니다. 회전자를 좋아하지만 회 전자로 팝업을 얻지 못했기 때문에 button.All의 값을 문자열 배열에서 가져옵니다. . 지금 내가 뭘하고 싶은지는 사용자가 팝업에서 "남성"을 선택하면 "남성"이 아닌 웹 서비스에 관련된 코드를 보내려고합니다.선택한 값 위치를 얻으려면

성별 배열

<string-array name="Gender"> 
     <item>Select Gender</item> 
     <item>Male</item> 
     <item>Female</item> 
    </string-array> 

성별 아이디 배열

<string-array name="Gender_id"> 
     <item>Select</item> 
     <item>2</item> 
     <item>1</item> 

사용자가 팝업에서 "여성"을 선택하면

public static void showDialog(Context c, String title, final String[] array, final Button b) { 
     builder = new AlertDialog.Builder(c); 
     builder.setTitle(title); 
     builder.setItems(array, new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialogInterface, int i) { 
       b.setText(array[i]); 
       dialogInterface.dismiss(); 
      } 
     }); 

     builder.show(); 


    } 

지금 생각

, 2 서버에 전송한다 팝업 그래서 기본적으로 나는 다른 배열에 줄 수 있고 코드를 얻을 수 있도록 사용자가 선택하는 위치를 원한다.

+0

단지 selectedGender 같은과에 온 클릭 이벤트 할당 값의 클래스 변수를 만듭니다. likeGender = i; 이 변수를 웹 서비스로 보내려는 값으로 사용하십시오. – NaserShaikh

답변

0

처럼 생성이 당신에게 문제를 해결하는 데 도움이되기를 바랍니다.

main.xml에

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:gravity="center"> 


    <Button 
     android:id="@+id/btnSelectGender" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Select Gender"/> 

</LinearLayout> 

MyActivity.java

public class MyActivity extends Activity { 

    private Button btnSelectGender; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     btnSelectGender = (Button) findViewById(R.id.btnSelectGender); 
     btnSelectGender.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       showDialog(MyActivity.this, "Select Gender", getResources().getStringArray(R.array.Gender),new onGenderSelected() { 
        @Override 
        public void genderSelection(int position) { 
         btnSelectGender.setText(getResources().getStringArray(R.array.Gender)[position]); 
         Toast.makeText(MyActivity.this,getResources().getStringArray(R.array.Gender)[position]+" >>> "+getResources().getStringArray(R.array.Gender_id)[position],Toast.LENGTH_SHORT).show(); 
         System.out.print("Gender Title : " +getResources().getStringArray(R.array.Gender)[position]); 
         System.out.print("Gender Value : " +getResources().getStringArray(R.array.Gender_id)[position]); 
        } 
       }); 
      } 
     }); 


    } 

    public static void showDialog(Context c, String title, final String[] array,final onGenderSelected target) { 
     AlertDialog.Builder builder = new AlertDialog.Builder(c); 
     builder.setTitle(title); 
     builder.setItems(array, new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialogInterface, int i) { 
       target.genderSelection(i); 
       dialogInterface.dismiss(); 
      } 
     }); 

     builder.show(); 


    } 
    public interface onGenderSelected{ 
     public void genderSelection(int position); 
    } 
} 
0

귀하의 스피너 항목은,이 방법을 사용해보십시오이

Spinner display_spinner = (Spinner) findViewById(R.id.datadisplay_spinner); 

ArrayAdapter<CharSequence> record_length_spinner_adapter = ArrayAdapter 
      .createFromResource(youractivity.this, R.array.Gender, android.R.layout.simple_spinner_item); 
record_length_spinner_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
display_spinner.setAdapter(record_length_spinner_adapter); 
+0

나는 회 전자를 사용하지 않는다. 나는 버튼을 사용했다. – Anuj

관련 문제