基本免責聲明;我一般都是新手機應用程序編程,特別是android。Android startActivity()崩潰
我有一個按鈕,點擊後,應打開下一個活動:
bCustom.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent i = new Intent(ctx, DiceCustomList.class);
startActivity(i);
}
});
(其中「私有上下文CTX =本;」因爲把「本」,其中「CTX」是沒拿到上下文時onClick)
該程序在當前活動被遮蓋之前崩潰(儘管我不確定轉換是如何影響的)。註釋掉幾乎一切後,這裏是它調用了活動:
public class DiceCustomList extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_list);
}
}
而且custom_list.xml:我認爲問題出在按鈕代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:text="@string/rollText"
android:id="@+id/textRoll2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="11pt"
android:gravity="center"/>
<ListView android:layout_height="wrap_content"
android:id="@+id/listView1"
android:layout_width="fill_parent"/>
</LinearLayout>
,但我似乎無法得到接近回答比這個更重要。
編輯:Android清單文件中確實有:
<activity android:name=".DiceCustomList"></activity>
編輯2:嗯,後,終於找到其中Eclipse中隱藏的堆棧跟蹤,它告訴我:「你的內容必須有一個ListView,其id屬性是'android.R.id.list'「,它們實際上是指」@ + id/android:list「。那很有趣。 (Edit3:我的意思是,這是答案,謝謝提示。)
在Eclipse中使用`adb logcat`,DDMS或DDMS透視圖來檢查LogCat並查看與您的錯誤相關的堆棧跟蹤。 – CommonsWare 2011-02-16 00:47:07
Logcat是您調試Android應用程序的最佳朋友。 adb位於SDK的'平臺工具'目錄中。作爲`adb logcat`從控制檯運行它。您可以從Eclipse內部查看Logcat消息,但是我發現它使事情變得非常混亂,並且更容易分開運行。 – Farray 2011-02-16 01:02:53