내 질문은 알림 Spinner
님의 주위를 돌고 있습니다. 사용자가 최대 5 개의 미리 알림을 추가하도록 허용하려고합니다. 그러나 나는 또한 다섯 가지를 모두 보여주고 싶지 않습니다. 이러한 미리 알림은 각각 Spinner
입니다. 여러 가지 선택 사항이 있습니다. 사용자가 클릭하여 알림을 추가하면 알림이 추가됩니다. 한 사람을 데려 가고 싶을 때도 할 수 있고, 다른 사람을 추가하고 싶을 때 새로운 사람이 맨 아래에 나타납니다. 이 문제를 어떻게 해결할 생각인가요?동적 Spinner를 추가하고 제거하는 방법은 무엇입니까?
내 원래 구현은 5가 이미 정의되어 있지만 (4 "사라짐") 사용자가 추가하려는 경우 "가시적"이됩니다. 문제는보기를 "사라지게"하여 미리 알림을 제거하고 다시 추가하는 경우 하단에 표시되지 않고 원래의 위치 (원래의 회 전자가 아닌 경우)로 되돌아갑니다. . 이제 특정 뷰에서 스피너를 동적으로 추가하는 방법에 관해서는 분실했습니다. 어떤 아이디어라도 높이 평가할 것입니다!
편집 : 내가 지금까지/RemindersAdapter.java
public class RemindersAdapter extends BaseAdapter{
ArrayList<Spinner> shownReminders;
public RemindersAdapter(Context c) {
shownReminders.add(new Spinner(c));
shownReminders.add(new Spinner(c));
shownReminders.add(new Spinner(c));
shownReminders.add(new Spinner(c));
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return shownReminders.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return shownReminders.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
if(view == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
view = inflater.inflate(R.layout.reminder_spinner, parent, false);
}
Log.d("TAG", "This is trying to run");
Spinner reminderSpinner = (Spinner)view.findViewById(R.id.duplicate_reminder);
reminderSpinner.setTag("1"); //this tag will be used to check which it is and correctly put the reminder into its respective String
ArrayAdapter<CharSequence> reminderAdapter = ArrayAdapter.createFromResource(
parent.getContext(), R.array.reminders_array, android.R.layout.simple_spinner_item);
reminderAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
reminderSpinner.setAdapter(reminderAdapter);
reminderSpinner.setOnItemSelectedListener(new MyOnReminderSelectedListener());
shownReminders.add(position, reminderSpinner);
return view;
}
/*
* Listener for when the reminder spinner gets a value the user entered
* */
public class MyOnReminderSelectedListener implements OnItemSelectedListener{
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id) {
//does nothing for now
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// Do nothing for now
}
}//end of MyOnReminderSelectedListener innerclass
설정하는 데 문제가 있습니다. 마찬가지로 나는 그것을 정확하게하는 방법을 잘 모르겠다. 나는'BaseAdapter'를 확장하는'ListView'를 사용하고 있지만 작동하지 않습니다. 가장 어려운 부분은 역동적 인 '회 전자 (Spinner)'를 추가하는 것입니다. – Andy