2016-03-02 63 views
0

我想設置一個標題列表的警告對話框。我有數據庫和時間表的表格。如何在警報對話框中獲取列表?

時間表有標題欄。我想從時間表中獲得標題列表。

我試了一些代碼,但它不工作。我在TimeTableHelper中創建了查詢來獲取表的列表。但我不知道如何把它放在警報對話框中。

任何人都可以幫忙嗎?

selectTable.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      TimeTableHelper th = new TimeTableHelper(getApplicationContext()); 
      List<String> tables = new ArrayList<String>(th.getTitle()); 

      AlertDialog.Builder alertDialog = new AlertDialog.Builder(AddEventActivity.this); 
      LayoutInflater inflater = getLayoutInflater(); 
      View convertView = (View) inflater.inflate(R.layout.alertlistrow, null); 
      alertDialog.setView(convertView); 
      ListView lv = (ListView) convertView.findViewById(R.id.listView1); 
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, tables); 
      lv.setAdapter(adapter); 
      alertDialog.show(); 

     } 
    }); 

我收到錯誤無法解析構造函數ArrayAdapter如果我嘗試在此添加列表。

ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,tables);

這是怎麼回事?

回答

3

您需要傳遞活動上下文但在onClick方法this意味着onClickListener接口。

變化

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, tables); 

// Replace MyActivity with the activity you are currently in or getActivity() if inside a fragment 
ArrayAdapter adapter = new ArrayAdapter(MyActivity.this, android.R.layout.simple_list_item_1, tables); 
+0

的MyActivity.this是一個壞主意,活動僅僅是從 「getActivity()」 方法。 – McflyDroid

+1

@McflyDroid:真的嗎?如果代碼是在一個活動中呢? – Rohit5k2

+0

我的想法是一個壞主意,在一項活動中這樣做。但是,如果你想要做到這一點=) – McflyDroid