2015-12-22 3 views
-1

Я новичок в android и ищу, как добавить подсказку (которая не может быть выбрана) в настраиваемом spinner с изображением и текстом. Хотя я нашел это для простых spinner, но я не могу реализовать его с помощью настраиваемого счетчика. Мой код:Добавление подсказки к настраиваемому счетчику в android

package com.example.hp.login_stratup_labs; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.graphics.Color; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.EditText; 
import android.widget.ImageView; 
import android.widget.Spinner; 
import android.widget.SpinnerAdapter; 
import android.widget.TextView; 

public class RegistrationActivity extends Activity { 

    String[] codes = {"Select Country", "India - +91", "United States of America - +1"}; 
    // Declaring the Integer Array with resourse Id's of Images for the Spinners 
    int[] flags = {0, R.drawable.f094, R.drawable.f222}; 
    Spinner country; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_registration); 
     Spinner countrycode=(Spinner)findViewById(R.id.registerCountryCode); 
     countrycode.setAdapter(new MyAdapter(RegistrationActivity.this, R.layout.custom, codes)); 

    } 

    public class MyAdapter extends ArrayAdapter<String>{ 

     public MyAdapter(Context context, int textViewResourceId, String[] objects) { 
      super(context, textViewResourceId, objects); 
     } 

     @Override 
     public View getDropDownView(int position, View convertView,ViewGroup parent) { 
      return getCustomView(position, convertView, parent); 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      return getCustomView(position, convertView, parent); 
     } 

     public View getCustomView(int position, View convertView, ViewGroup parent) { 

      LayoutInflater inflater=getLayoutInflater(); 
      View row=inflater.inflate(R.layout.custom, parent, false); 
      TextView label=(TextView)row.findViewById(R.id.txt); 
      label.setText(codes[position]); 

      ImageView flag_image=(ImageView)row.findViewById(R.id.img); 
      flag_image.setImageResource(flags[position]); 

      return row; 
     } 
    } 
} 
+0

посетить этот Http: // stackoverflow.com/questions/6602339/android-spinner-hint –

+0

@HRaval это не работает. Сейчас он показывает только подсказку. Также хочу добавить подсказку слева от счетчика. Но она выровнена точно так же, как и остальные элементы, которые находятся в прядильщике. –

+0

@Swapnil Garg: U не может добавить намек на spinner, вместо этого вы можете сначала выбрать [select] и метку с соответствующим именем. например: City -> [Select] – kevz

ответ

-1

вы можете сделать это таким образом

в основной деятельности

String[] codes = {"India - +91", "United States of America - +1","Select Country"}; 

MyAdapter adapter = new MyAdapter(RegistrationActivity.this, R.layout.custom, codes); 
Spinner countrycode=(Spinner)findViewById(R.id.registerCountryCode); 
     countrycode.setAdapter(adapter); 

countrycode.setSelection(adapter.getCount()); 

добавить этот метод адаптер для

@Override 
    public int getCount() { 
     return codes.length()-1; 
    } 
+0

это не работает. –

+0

где вы получаете ошибку? –

+0

Это только подсказка. Также это не решение моего вопроса, так как я не хочу, чтобы подсказка была вставлена ​​в массив элементов. –

Смежные вопросы