setOnClickListener导致Android中的强制关闭

时间:2012-03-19 18:15:34

标签: java android button forceclose

我正在尝试为按钮创建onClickListener。在创建事件监听器之前,所有内容都显示正常,但在我添加它时强制关闭。

这是代码:     包com.austin.mobile;

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

public class TxtLingoActivity extends Activity {
/** Called when the activity is first created. */
Button convert;
EditText inputText, outputText;
String myCopy;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.main);

    convert = (Button) findViewById(R.id.inputTextBox);
    convert.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    });

}
}

这是xml:          

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Input"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/inputTextBox"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>


<Button
    android:id="@+id/convert"
    android:layout_gravity="right"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:text="Convert" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Output"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/outputTextBox"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

</LinearLayout>

Log Cat显示此错误:     03-19 18:05:21.726:E / dalvikvm(662):无法打开堆栈跟踪文件'/ data / anr / traces.txt':权限被拒绝

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

在“查找”Button

时,您似乎指的是错误的ID

尝试改变这一点:

convert = (Button) findViewById(R.id.inputTextBox);

到此:

convert = (Button) findViewById(R.id.convert);

希望这会有所帮助......

答案 1 :(得分:1)

此行ClassCastException

中的convert = (Button) findViewById(R.id.inputTextBox);

因为R.id.inputTextBoxEditText而您使用Button。在R.id.convert

中更改它