2015-01-13 3 views
-1

Я не знаю, что не так. Все, что я хотел сделать, это заполнить Spinner во время работы. Но когда я запускаю свое приложение на мобильном телефоне, он заполняет счетчик своим классом. Вот код, что я делаюКак очистить счетчик во время работы?

public class FullscreenActivity extends Activity { 
    Spinner spSelectTeam; 
    TextView tvTeam; 
    ArrayList<TeamClass> teamClasses; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.layout2); 
     init(); 
     teamClasses = populateList(); 
     //applying adapter 
     ArrayAdapter myAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, teamClasses); 
     spSelectTeam.setAdapter(myAdapter); 
    } 

    void init(){ 
     spSelectTeam = (Spinner) findViewById(R.id.sp_team); 
     tvTeam = (TextView) findViewById(R.id.tv_team); 
    } 

    public ArrayList<TeamClass> populateList() { 
     //ArrayList<TeamClass> myTeamName = new ArrayList<TeamClass>(); 
     ArrayList<TeamClass> teamClasses = new ArrayList<>(); 
     teamClasses.add(new TeamClass("----- All -----")); 
     teamClasses.add(new TeamClass("Computer Direct")); 
     teamClasses.add(new TeamClass("Datasys")); 
     teamClasses.add(new TeamClass("Host Interactive")); 
     return teamClasses; 
    } 
} 

и класс адаптера является

public class TeamClass { 
    private String TeamName; 

    public TeamClass(String teamName){ 
     this.TeamName = teamName; 
    } 

    public String getTeamName() { 
     return TeamName; 
    } 

    public void setTeamName(String teamName) { 
     TeamName = teamName; 
    } 
} 

пожалуйста, помогите. заранее спасибо

ответ

4

Вам необходимо переопределить toString() для TeamClass.

+0

какой способ? .. – Black

+0

Спасибо, этот метод помогает мне. – Black

+0

Как изменить цвет текста в этом счетчике? его белый я хочу изменить на черный – Black

1

попробовать это ...

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.layout2); 
     init(); 
     teamClasses = populateList(); 

     //applying adapter 

     ArrayAdapter myAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, teamClasses); 
myAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

spSelectTeam.setAdapter(myAdapter); 



    } 
+0

Но ему также необходимо расширить класс «BaseAdapter», чтобы он мог предоставить свой собственный макет, хотя в этом случае он может просто переопределить метод toString(), например, barq предложил – NitroNbg

+0

no это не помогает – Black

1

добавить в своем TeamClass

@Override 
public String toString() { 
    return this.TeamName ; 
} 

также изменить код ниже как ..

List<TeamClass> teamClasses; 

teamClasses = populateList(); 

public List<TeamClass> populateList() { 
    List<TeamClass> teamClasses = new ArrayList<TeamClass>(); 
    teamClasses.add(new TeamClass("----- All -----")); 
    teamClasses.add(new TeamClass("Computer Direct")); 
    teamClasses.add(new TeamClass("Datasys")); 
    teamClasses.add(new TeamClass("Host Interactive")); 
    return teamClasses; 
} 
+0

это не работает слишком же результаты – Black

0

Просто добавьте следующее к TeamClass :

@Override 
public String toString() { 
    return getTeamName(); 
} 
Смежные вопросы