2011-01-12 28 views
0

我試圖使用自定義對話框來獲取標題字符串的用戶輸入,然後如果用戶點擊確定,它會啓動一個新的活動(基本上是一個記事本)標題字符串作爲標題。但是,當我嘗試調用onClick()內部觸發新活動的方法時,它會給我一個錯誤。Android:從對話框啓動新的活動

下面的代碼

class NewListDialog extends Dialog implements OnClickListener { 

     Button search; 
     EditText text; 

     public NewListDialog(Context context) { 
      super(context); 
      requestWindowFeature(Window.FEATURE_NO_TITLE); 
      setContentView(R.layout.newlist_dialog); 
      search = (Button) findViewById(R.id.dialog_confirm); 
      text = (EditText) findViewById(R.id.dialog_editable); 
      search.setOnClickListener(this); 
     } 

     @Override 
     public void onClick(View v) { 
      if (v == search) { 
       String title_name = text.getText().toString(); 

         // method for launching new activity 
       fireListEdit(title_name); 
      } 
     } 

}

void fireListEdit(String title_name) { 
     Intent i = new Intent(this, ListEdit.class); 
     i.putExtra(InvenDB.KEY_TITLE, title_name); 
     startActivityForResult(i, ACTIVITY_CREATE); 
} 

而且我把這種對話與

@Override 
public boolean onMenuItemSelected(int featureId, MenuItem item) { 
    switch(item.getItemId()) { 
    case INSERT_ID: 
     NewListDialog dialog = new NewListDialog(this); 
     dialog.show(); 
     return true; 
    case QUIT_ID: 
     finish(); 
     return true; 
    } 
    return super.onMenuItemSelected(featureId, item); 
} 

編輯:當我在模擬器中運行它,當我點擊確定自定義對話框只是給我「應用程序意外停止」錯誤

編輯:

這是logcat的,我真的不知道他們是什麼意思:\

01-12 17:39:27.668:ERROR/AndroidRuntime(426):了java.lang.RuntimeException :無法啓動活動ComponentInfo {com.jin.inventoryapp/com.jin.inventoryapp.ListEdit}:android.database.CursorIndexOutOfBoundsException:指數0請求,大小爲0

+0

你不告訴我們是什麼錯誤,或者你是如何試圖啓動新的活動 – Falmarri 2011-01-12 22:11:39

+0

對不起,當我在模擬器上運行它,當我點擊自定義對話框OK它只是給我「的應用程序停止意外「錯誤 – Jin 2011-01-12 22:13:11

回答

0

從我可以告訴有問題與適配器(數據)一部分的應用程序。無論您使用什麼Adapter類來備份您的com.jin.inventoryapp.ListEdit,它在訪問數據時都有問題。即如果您正在使用數組或數據庫來填充ListView,請先在那裏檢查。

This對找出誰拋出異常很有用。