2011-06-17 56 views
0

我想添加列表为微调,但我一直都想与在logcat的一个异常说:俊男项目添加到微调

"java.lang.RuntimeException: Unable to start activity ComponentInfo{....}: java.lang.NullPointerException" 

在模拟器中,一个对话框出现说该应用程序意外停止,我需要强制关闭。我尝试过不同的事情,但我仍然得到相同的例外。

下面是活动的代码:

public class CreateListActivity extends Activity implements OnClickListener{ 

/** Called when the activity is first created. */ 
@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    Spinner categorySpinner = (Spinner)findViewById(R.id.category_Spinner); 

    CategoryAction categoryAction = new CategoryAction(getBaseContext()); 
    ArrayList<ListCategory> categorylist = new ArrayList<ListCategory>(); 
    ArrayList<String> categoryNames = new ArrayList<String>(); 

    //Get all existing categories. 
    try 
    { 
     categorylist = (ArrayList<ListCategory>) categoryAction.getAllCategories(); 
    } 

    catch(SQLException e) 
    { 
     e.printStackTrace(); 
    }  

    // Add all existing category names. This will be used to add options to the spinner. 
    for (ListCategory category : categorylist) 
    { 
     categoryNames.add(category.getCategoryName()); 
    } 


    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
    android.R.layout.simple_spinner_item, categoryNames); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.createlist); 

    categorySpinner.setAdapter(adapter);  

    View addNewListButton = findViewById(R.id.Add_List_button); 
    addNewListButton.setOnClickListener(this); 
} 

public void onClick(View v) 
{ 
    ListAction listAction = new ListAction(getBaseContext()); 

    EditText listEditText = (EditText)findViewById(R.id.listName); 
    String newListName = listEditText.getText().toString(); 

    try { 
     if(!listAction.listExist(newListName)){ 
      listAction.createList(newListName, "To Buy"); 
     } 
    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 

    Intent viewListsIntent = new Intent(this, ItemListActivity.class); 
    startActivity(viewListsIntent); 
} 

}

回答

0

您的问题可能已经无关纺纱。在logcat中,向下滚动一下,指示出现空指针异常的那一行。然后修复那个空指针错误。

+0

非常感谢!我刚开始使用Android进行开发,但对IDE依然不熟悉。 – k4ru050 2011-06-17 00:55:03

0

您不能拨打findViewById之前您设置了查看内容。您必须移动这些行

super.onCreate(savedInstanceState); 
    setContentView(R.layout.createlist); 

到您的onCreate方法的顶部。您可能认为它与Spinners有关,因为您在这两行之前添加了Spinner代码。

相关问题