2015-07-03 4 views
0

В настоящее время возникла проблема с попыткой обновить фрагмент списка с помощью ввода диалоговогофрагмента (или фиктивного ввода), все компилируется, но не видит никаких изменений в списке. Пожалуйста, дайте мне знать, что вы думаете. Благодарю.Обновление фрагмента списка с помощью адаптера списка

public class NewEventDialogFragment extends DialogFragment { 
 
    private List<GlobalClass> mItems; 
 
    EditText editText; 
 

 
    @Override 
 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
 
     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
 
     //editText = (EditText) findViewById(R.id.editText); 
 
     builder.setMessage("What Would You Like to Name the Event?") 
 
       .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
 
        public void onClick(DialogInterface dialog, int id) { 
 

 
         mItems = new ArrayList<GlobalClass>(); 
 
         mItems.add(new GlobalClass("Whoiszzzzzzzzzzzzzzthis", "Adsdfdsdomg")); 
 
         mItems.add(new GlobalClass("Whodsfzzzzzzzzzzzzzsdfsisthis", "Addsdfdfomg")); 
 
         mItems.add(new GlobalClass("Whoisthzzzzzzzzzzzzzzsdfdsfis", "Addosdfsdfmg")); 
 
         // Create the adapter to convert the array to views 
 
         MainTabsPagerAdapter adapter = new MainTabsPagerAdapter(getActivity(), mItems); 
 
         // Attach the adapter to a ListView 
 

 
         adapter.addAll(mItems); 
 

 
         adapter.notifyDataSetChanged(); 
 
         //setListAdapter(new MainTabsPagerAdapter(getActivity(), mItems)); 
 
        } 
 
       }) 
 
       .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
 
        public void onClick(DialogInterface dialog, int id) { 
 
         // User cancelled the dialog 
 
        } 
 
       }); 
 
     View view = getActivity().getLayoutInflater().inflate(R.layout.neweventdialog_fragment, null); 
 
     builder.setView(view); 
 

 
     return builder.create(); 
 

 
    } 
 

 
}

private List<GlobalClass> mItems;  // ListView items list 
 

 
@Override 
 
public void onCreate(Bundle savedInstanceState) { 
 
    super.onCreate(savedInstanceState); 
 

 
    // initialize the items list 
 
    mItems = new ArrayList<GlobalClass>(); 
 
    Resources resources = getResources(); 
 

 
    mItems.add(new GlobalClass("Whoisthis", "Adsdfdsdomg")); 
 
    mItems.add(new GlobalClass("Whodsfsdfsisthis", "Addsdfdfomg")); 
 
    mItems.add(new GlobalClass("Whoisthsdfdsfis", "Addosdfsdfmg")); 
 

 
    // initialize and set the list adapter 
 
    setListAdapter(new MainTabsPagerAdapter(getActivity(), mItems)); 
 
}

+0

Я не вижу код для этого «// Присоединить адаптер к ListView», где находится ваш listview.setAdapter (адаптер); – Broak

+0

ok Я добавил ListView listview = (ListView) findViewById (R.id.list); listview.setAdapter (адаптер); но findViewById не может быть разрешен – Devilishdil24

+0

Ваш список пока еще, вероятно, называется R.android.id.list или что-то в этом роде, измените его на @ + id/list – Broak

ответ

0
  1. Вы должны иметь ListView в макете R.layout.neweventdialog_fragment и связать этот виджет на ваш взгляд, в коде, то setAdapter на него.

    View view = getActivity().getLayoutInflater().inflate(R.layout.neweventdialog_fragment, null); 
    ListView listView = (ListView) view.findViewById(R.id.listView); // you bind to listView your widget 
    listView.setAdapter(adapter); // you set adapter 
    builder.setView(view); 
    
    return builder.create(); 
    
  2. Когда хочет казаться DialogFragment, вы используете NewEventDialogFragment.newInstance().show(getSupportFragmentManager(),CURRENT_FRAGMENT_TAG);

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