当我使用按钮时,我正在使用onclicklistener和app崩溃... 当我使用它的唯一按钮时,崩溃发生在第一页。 无法找到问题...... 继承人主要活动:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button)findViewById(R.id.button1);
final EditText ed = (EditText)findViewById(R.id.editText1);
final String str = ed.getText().toString();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, NotesPage.class);
intent.putExtra("username", str);
startActivity(intent);
}
});
}
}
和notespage:
public class NotesPage extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.notespage);
Button btn = (Button)findViewById(R.id.button1);
TextView tx = (TextView)findViewById(R.id.textView2);
Intent intent = getIntent();
final String str = intent.getStringExtra("username");
tx.setText("Hello"+str);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(NotesPage.this, Addnote.class);
startActivity(intent);
}
});
}
}
清单:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.noteslist.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="NotesPage"></activity>
<activity android:name="Addnote">
</activity>
</application>
logcat的:
11-18 19:53:43.755: D/AndroidRuntime(1159): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
11-18 19:53:43.755: D/AndroidRuntime(1159): CheckJNI is ON
11-18 19:53:44.905: D/AndroidRuntime(1159): Calling main entry com.android.commands.pm.Pm
11-18 19:53:44.965: D/AndroidRuntime(1159): Shutting down VM
11-18 19:53:44.986: D/dalvikvm(1159): GC_CONCURRENT freed 101K, 78% free 463K/2048K, paused 1ms+1ms
11-18 19:53:44.986: D/dalvikvm(1159): Debugger has detached; object registry had 1 entries
11-18 19:53:44.995: I/AndroidRuntime(1159): NOTE: attach of thread 'Binder Thread #3' failed
11-18 19:53:46.175: D/AndroidRuntime(1172): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
11-18 19:53:46.175: D/AndroidRuntime(1172): CheckJNI is ON
11-18 19:53:47.395: D/AndroidRuntime(1172): Calling main entry com.android.commands.am.Am
11-18 19:53:47.435: I/ActivityManager(91): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.noteslist/.MainActivity} from pid 1172
11-18 19:53:47.466: W/WindowManager(91): Failure taking screenshot for (180x300) to layer 21005
11-18 19:53:47.505: D/AndroidRuntime(1172): Shutting down VM
11-18 19:53:47.535: D/dalvikvm(1182): Not late-enabling CheckJNI (already on)
11-18 19:53:47.535: D/dalvikvm(1172): GC_CONCURRENT freed 102K, 77% free 485K/2048K, paused 1ms+2ms
11-18 19:53:47.545: D/dalvikvm(1172): Debugger has detached; object registry had 1 entries
11-18 19:53:47.555: I/AndroidRuntime(1172): NOTE: attach of thread 'Binder Thread #3' failed
11-18 19:53:47.575: I/ActivityManager(91): Start proc com.example.noteslist for activity com.example.noteslist/.MainActivity: pid=1182 uid=10042 gids={}
11-18 19:53:47.945: W/NetworkManagementSocketTagger(91): setKernelCountSet(10042, 1) failed with errno -2
11-18 19:53:48.507: I/Process(91): Sending signal. PID: 1182 SIG: 3
11-18 19:53:48.507: I/dalvikvm(1182): threadid=3: reacting to signal 3
11-18 19:53:48.675: I/dalvikvm(1182): Wrote stack traces to '/data/anr/traces.txt'
11-18 19:53:48.955: I/Process(91): Sending signal. PID: 1182 SIG: 3
11-18 19:53:48.955: I/dalvikvm(1182): threadid=3: reacting to signal 3
11-18 19:53:48.996: I/dalvikvm(1182): Wrote stack traces to '/data/anr/traces.txt'
11-18 19:53:49.205: D/gralloc_goldfish(1182): Emulator without GPU emulation detected.
11-18 19:53:49.275: I/ActivityManager(91): Displayed com.example.noteslist/.MainActivity: +1s789ms (total +9m33s430ms)
11-18 19:53:49.345: W/NetworkManagementSocketTagger(91): setKernelCountSet(10013, 0) failed with errno -2
11-18 19:53:50.705: D/dalvikvm(91): GREF has increased to 501
11-18 19:53:51.605: D/dalvikvm(143): GC_CONCURRENT freed 3991K, 30% free 9843K/13959K, paused 7ms+17ms
11-18 19:53:53.545: D/InputEventConsistencyVerifier(1182): KeyEvent: ACTION_UP but key was not down.
11-18 19:53:53.545: D/InputEventConsistencyVerifier(1182): in android.widget.EditText@412bcf98
11-18 19:53:53.545: D/InputEventConsistencyVerifier(1182): 0: sent at 1735495000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=1735495, downTime=1735362, deviceId=0, source=0x101 }
11-18 19:53:55.975: I/ActivityManager(91): START {cmp=com.example.noteslist/.NotesPage (has extras)} from pid 1182
11-18 19:53:56.014: W/WindowManager(91): Failure taking screenshot for (180x300) to layer 21010
11-18 19:53:56.304: D/AndroidRuntime(1182): Shutting down VM
11-18 19:53:56.304: W/dalvikvm(1182): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
11-18 19:53:56.354: E/AndroidRuntime(1182): FATAL EXCEPTION: main
11-18 19:53:56.354: E/AndroidRuntime(1182): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.noteslist/com.example.noteslist.NotesPage}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.app.ActivityThread.access$600(ActivityThread.java:123)
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.os.Handler.dispatchMessage(Handler.java:99)
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.os.Looper.loop(Looper.java:137)
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.app.ActivityThread.main(ActivityThread.java:4424)
11-18 19:53:56.354: E/AndroidRuntime(1182): at java.lang.reflect.Method.invokeNative(Native Method)
11-18 19:53:56.354: E/AndroidRuntime(1182): at java.lang.reflect.Method.invoke(Method.java:511)
11-18 19:53:56.354: E/AndroidRuntime(1182): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-18 19:53:56.354: E/AndroidRuntime(1182): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-18 19:53:56.354: E/AndroidRuntime(1182): at dalvik.system.NativeStart.main(Native Method)
11-18 19:53:56.354: E/AndroidRuntime(1182): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.app.ListActivity.onContentChanged(ListActivity.java:243)
11-18 19:53:56.354: E/AndroidRuntime(1182): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:254)
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.app.Activity.setContentView(Activity.java:1835)
11-18 19:53:56.354: E/AndroidRuntime(1182): at com.example.noteslist.NotesPage.onCreate(NotesPage.java:15)
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.app.Activity.performCreate(Activity.java:4465)
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
11-18 19:53:56.354: E/AndroidRuntime(1182): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
11-18 19:53:56.354: E/AndroidRuntime(1182): ... 11 more
11-18 19:53:56.514: W/ActivityManager(91): Force finishing activity com.example.noteslist/.NotesPage
11-18 19:53:56.535: W/ActivityManager(91): Force finishing activity com.example.noteslist/.MainActivity
11-18 19:53:56.674: I/Process(91): Sending signal. PID: 1182 SIG: 3
11-18 19:53:56.694: I/dalvikvm(1182): threadid=3: reacting to signal 3
11-18 19:53:56.754: I/dalvikvm(1182): Wrote stack traces to '/data/anr/traces.txt'
11-18 19:53:57.044: W/ActivityManager(91): Activity pause timeout for ActivityRecord{4143f3e0 com.example.noteslist/.NotesPage}
11-18 19:53:57.055: I/Process(91): Sending signal. PID: 1182 SIG: 3
11-18 19:53:57.064: I/dalvikvm(1182): threadid=3: reacting to signal 3
11-18 19:53:57.094: I/dalvikvm(1182): Wrote stack traces to '/data/anr/traces.txt'
11-18 19:53:57.364: W/NetworkManagementSocketTagger(91): setKernelCountSet(10013, 1) failed with errno -2
11-18 19:53:57.607: D/dalvikvm(91): GC_CONCURRENT freed 458K, 11% free 11479K/12807K, paused 12ms+73ms
11-18 19:53:57.834: W/NetworkManagementSocketTagger(91): setKernelCountSet(10042, 0) failed with errno -2
11-18 19:54:02.674: I/Process(1182): Sending signal. PID: 1182 SIG: 9
11-18 19:54:02.824: I/ActivityManager(91): Process com.example.noteslist (pid 1182) has died.
11-18 19:54:02.834: W/InputDispatcher(91): channel '416022e0 com.example.noteslist/com.example.noteslist.MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8
11-18 19:54:02.845: E/InputDispatcher(91): channel '416022e0 com.example.noteslist/com.example.noteslist.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
11-18 19:54:02.915: I/WindowManager(91): WIN DEATH: Window{416022e0 com.example.noteslist/com.example.noteslist.MainActivity paused=true}
11-18 19:54:02.915: W/InputDispatcher(91): Attempted to unregister already unregistered input channel '416022e0 com.example.noteslist/com.example.noteslist.MainActivity (server)'
11-18 19:54:02.974: I/WindowManager(91): WINDOW DIED Window{416022e0 com.example.noteslist/com.example.noteslist.MainActivity paused=true}
11-18 19:54:03.004: W/InputManagerService(91): Got RemoteException sending setActive(false) notification to pid 1182 uid 10042
11-18 19:54:03.717: D/dalvikvm(143): GC_CONCURRENT freed 421K, 30% free 9887K/13959K, paused 7ms+42ms
11-18 19:54:07.860: W/ActivityManager(91): Activity destroy timeout for ActivityRecord{41556b68 com.example.noteslist/.MainActivity}
11-18 19:54:07.860: W/ActivityManager(91): Activity destroy timeout for ActivityRecord{4143f3e0 com.example.noteslist/.NotesPage}
答案 0 :(得分:1)
您的NotesPage扩展ListActivity
而不是Activity
,y0u在您的NotesPage中没有任何列表视图
所以将扩展名从ListActivity
更改为Activity
答案 1 :(得分:0)
根据这条线
Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
ListView
中没有id
notespage.xml
。你应该有像
ListView
android:id="@android:id/list"
当您extends ListActivity
时,您必须拥有ListView
id
。如果你只extends Activity
,那么你不需要这个。
关闭-主题强>
你可以see this answer about reading logcat这将为你提供一个好的起点,这样你就可以自己调试更多,并在你仍然无法获得它时知道哪些部分最相关。
此外,您可以通过“错误”过滤logcat,以便更轻松地查看异常。