2016-10-07 12 views
-2

私proplemがある:私はMainActivityに機能LoadTaskList()を持っていますが、CustomAdapterに、私はLoadTaskList()と呼ばれるが、それはしないのアクティブ通話機能は

CustomAdapter.cs

 public override View GetView(int position, View convertView, ViewGroup parent) 
     { 
      LayoutInflater inflater = (LayoutInflater)mainActivity.GetSystemService(Context.LayoutInflaterService); 
      View view = inflater.Inflate(Resource.Layout.row, null); 

      TextView txtTask = view.FindViewById<TextView>(Resource.Id.task_title); 
      Button btnDelete = view.FindViewById<Button>(Resource.Id.btnDelete); 


      txtTask.Text = taskList[position]; 

      btnDelete.Click += delegate { 
       string task = taskList[position]; 
       dbHelper.deleteTask(task); 

       mainActivity.LoadTaskList(); // here 
      }; 
      return view; 
     } 

MainActivity.cs

public void LoadTaskList() 
    { 
     List<string> taskList = dbHelper.getTaskList(); 
     if (mAdapter == null) 
     { 
      mAdapter = new CustomAdapter(this, taskList,dbHelper); 
      lstTask.Adapter = mAdapter; 
     } 

    } 
+1

からそれを呼び出す「が、それはアクティブません」?_あなたがエラーを取得していますか? –

+0

この関数はListViewをリロードしますが、私の場合、CustomAdapterで呼び出すときListViewをリロードしません – EddyLee

+0

2回目に呼び出すと 'mAdapter == null'ですか? duh – mihail

答えて

0

解決済み!

ただ、公衆にLoadTaskListを()に変更し、_とはどういう意味ですかCustomAdapter

+0

あなたの質問で 'LoadTaskList()'がすでに 'public'としてマークされていたので、なぜうまくいったのか分かりません。 –

関連する問題