2010-11-25 109 views
1

我开始了一个小型的android应用程序来学习。我在屏幕上放置了一个输入文本和按钮。这在模拟器上显示。之后,我按下按钮(它有一个onClickListener)申请裂缝,并告诉我模拟器的屏幕上显示:“......再次停止unexpectably.Try的应用”和我有一个“强制关闭”,这当然关闭的应用程序。 我清理并重建了很多次这个项目。我已经表明没有错误(使用eclipse) 这是布局/ main.xml中: Android应用程序失败并在点击按钮后停止

<ScrollView android:id="@+id/widget37" android:layout_width="247px" 
    android:layout_height="282px" android:scrollbars="vertical" 
    android:layout_x="38px" android:layout_y="130px"> 
</ScrollView> 
<RadioButton android:id="@+id/compactList" 
    android:layout_width="wrap_content" android:layout_height="wrap_content" 
    android:text="Compact List" android:layout_x="36px" android:layout_y="78px"> 
</RadioButton> 
<RadioButton android:id="@+id/detailedList" 
    android:layout_width="wrap_content" android:layout_height="wrap_content" 
    android:text="Detailed List" android:layout_x="176px" 
    android:layout_y="78px"> 
</RadioButton> 

这是活动类:

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 

public class ShowStuffs extends Activity implements View.OnClickListener { 

private Button searchbtn; 
private EditText input; 

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.main); 
    searchbtn = (Button)findViewById(R.id.searchBtn); 
    searchbtn.setOnClickListener(this); 
} 
public void onClick(View view) { 
    System.out.println("on click..."); 
    String searchedText = input.getText().toString(); 

} 
} 

我无法弄清楚它有什么问题。任何建议都比欢迎。谢谢。

+0

好像你还没有discouver logcat的。窗口 - >显示视图 - >'其他':Andoird - > LogCat在那里你会发现你的崩溃消息,它应该可以帮助你找到你的bug。使用Log.d(“你的标签”,“你的消息”)打印东西logcat – getekha 2010-11-25 20:19:01

回答

2

在布局/ main.xml中,你需要声明searchBtn

事情是这样的:

<Button android:id="@+id/searchBtn" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="Search Button"/> 

更新:我试过,没有错误下面的代码。

package com.dude.test1; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class foo extends Activity implements View.OnClickListener { 

     private Button searchbtn; 
     private EditText input; 

     public void onCreate(Bundle icicle) { 
      super.onCreate(icicle); 
      setContentView(R.layout.main); 
      searchbtn = (Button)findViewById(R.id.searchBtn); 
      input = (EditText) findViewById(R.id.input); 
      searchbtn.setOnClickListener(this); 
     } 
     public void onClick(View view) { 
      //System.out.println("on click..."); 
Toast.makeText(this, "clicked!", Toast.LENGTH_SHORT).show(); 
      String searchedText = input.getText().toString(); 

     } 


} 

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" android:background="#FFFFFF"> 
    <ScrollView android:id="@+id/widget37" android:layout_width="247px" 
     android:layout_height="282px" android:scrollbars="vertical" 
     android:layout_x="38px" android:layout_y="130px"> 
    </ScrollView> 
    <RadioButton android:id="@+id/compactList" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" 
     android:text="Compact List" android:layout_x="36px" android:layout_y="78px"> 
    </RadioButton> 
    <RadioButton android:id="@+id/detailedList" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" 
     android:text="Detailed List" android:layout_x="176px" 
     android:layout_y="78px"> 
    </RadioButton> 
    <Button android:id="@+id/searchBtn" android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:text="Search Button" /> 
    <EditText android:id="@+id/input" android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 
</LinearLayout> 
+0

哦,我很抱歉。我忘了放置那些代码,我没有在xml中声明这个按钮。在错误日志中查看我看到:断言失败:当设置输入时,ContentViewer必须具有内容提供者。我正在googleing有点明白我做错了什么 – test 2010-11-25 13:40:58

1

看起来像一个NullPointerException。

String searchedText = input.getText().toString(); 

输入值为何值?

0

添加这两个按钮: 安卓的onClick = “点击”

相关问题