新的android活动无法启动

时间:2011-06-22 18:55:30

标签: android-intent

你好我们试图从我的主要活动切换到一个新的活动,但我得到'the application has stopped unexpectedly. Please try again'。我不知道为什么。

这是我目前的活动:

public class EditActivity extends ListActivity {
    TextView selection;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mListContent));  
    }
    private static String[] mListContent={"Fishing Reports", "Choose a Fishing Spot", "Prediction","Item 1", "Item 2", "Item 3","Item 1", "Item 2", "Item 3","Item 1", "Item 2", "Item 3"};

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {

            switch (position){
                 case 0 :     Toast.makeText(this, "You pressed item 1 !", Toast.LENGTH_LONG).show();
                            break;
                 case 1 :     
                              Intent myIntent = new Intent(EditActivity.this,  LocationActivity.class);
                              startActivity(myIntent);
                             break;
    }

      super.onListItemClick(l, v, position, id);
    }

这是我打电话的活动

public class LocationActivity extends ListActivity {
    //Your member variable declaration here

    // Called when the activity is first created.
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.location);  
    }   
}

新活动在我的清单

中宣布
    <activity android:name=".LocationActivity"></activity>

这是我新活动的布局:

         

当前活动正常但当我点击mListContent (case 1)上的第二项时,它没有启动第二项活动,我收到错误'the application has stopped unexpectedly. Please try again'任何想法为什么? 非常感谢!!

1 个答案:

答案 0 :(得分:0)

当您使用ListActivity时,您需要确保您的布局具有ID为“@android:id / list”的ListView,以便ListActivity可以找到它。如果不这样做,它将在启动时强制关闭。

这样的事情:

<ListView android:id="@android:id/list"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:fastScrollEnabled="true" />
</LinearLayout>

BTW,如果你正在使用Eclipse,这里有一个帮助调试的提示。

在Eclipse菜单中,选择Window&gt;显示视图&gt;其他...,展开Android类别,选择LogCat,然后单击“确定”。这将打开LogCat视图,该视图捕获模拟器或设备的所有日志输出。

我喜欢在LogCat中设置过滤器,因此更容易找到应用消息;单击小绿色加号以创建新过滤器,并为“过滤器名称”和“按日志标记”字段输入“AndroidRuntime”。此过滤器将显示为LogCat视图上的另一个选项卡,您可以通过切换到该选项卡随时过滤内容。