android - 尝试setText时,textview不断崩溃

标签 android

我试图创建一个应用程序,以便当我单击第一种布局中的按钮时,它将从EditText中提取文本并将该值放入第二种布局中的TextView中。但是,似乎该应用程序将由于TextView的setText而崩溃。

我没有放置logCat,因为它并不能说明太多。我相信该错误来自setText部分。但是我不知道如何修复该部分,或者我的编码方式不正确。希望有人能帮助我。提前致谢。



<TextView android:id="@+id/showtitle"
    android:layout_marginTop="1dip"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="15sp"
    android:textStyle="bold" />

<TextView android:id="@+id/showtemplate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/showtitle"
    android:layout_alignLeft="@+id/showtitle"
    android:paddingBottom="4dip"
    android:includeFontPadding="false"
    android:textSize="15sp"
    android:textStyle="normal" />



以下是我的Java代码:

导入android.os.Bundle;
导入android.view.View;
导入android.widget.TextView;
导入android.widget.EditText;
导入android.widget.Button;
    导入android.widget.Toast;

import android.app.Activity;

public class AndroidGroupSMS extends Activity{

 private EditText title;
 private EditText template;
 private Button btnsave;
 private Button btnload;
 private TextView text,text2;

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

 title = (EditText) findViewById(R.id.title);
    template = (EditText) findViewById(R.id.template);
    btnsave = (Button) findViewById(R.id.save);
    btnload = (Button) findViewById(R.id.load);
    text = (TextView) findViewById(R.id.showtitle);
    text2 = (TextView) findViewById(R.id.showtemplate);

    btnsave.setOnClickListener(new View.OnClickListener() {

   public void onClick(View v) {
    // TODO Auto-generated method stub   
    String sTitle = title.getText().toString();
    String sTemplate = template.getText().toString();
    if(sTitle.length() > 0 && sTemplate.length() > 0)
    {
     //this is where i'm setting the text extracted from the edittext boxes
     text.setText(sTitle.toString());
     text2.setText(sTemplate.toString());
    }
    else
     Toast.makeText(getBaseContext(),"Please enter the title and template" + "", Toast.LENGTH_SHORT).show();     
   }
  });       
}


我不知道该怎么读。
以下是我要求的logCat:
11-12 04:32:51.652:DEBUG / AndroidRuntime(283):>>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<<
11-12 04:32:51.662:调试/ AndroidRuntime(283):CheckJNI已打开
11-12 04:32:51.982:DEBUG / AndroidRuntime(283):-注册本机函数-
11-12 04:32:52.464:DEBUG / ddm-heap(283):获得功能列表请求
11-12 04:32:53.092:调试/ AndroidRuntime(283):关闭VM
11-12 04:32:53.102:DEBUG / dalvikvm(283):DestroyJavaVM等待非守护程序线程退出
11-12 04:32:53.102:DEBUG / dalvikvm(283):DestroyJavaVM关闭VM
11-12 04:32:53.102:DEBUG / dalvikvm(283):HeapWorker线程关闭
11-12 04:32:53.112:调试/ dalvikvm(283):HeapWorker线程已关闭
11-12 04:32:53.112:DEBUG / jdwp(283):JDWP关闭网络...
11-12 04:32:53.122:INFO / dalvikvm(283):调试器已分离;对象注册表有1个条目
11-12 04:32:53.132:调试/ dalvikvm(283):虚拟机清理
11-12 04:32:53.192:调试/ dalvikvm(283):使用的LinearAlloc 0x0 629532 of 5242880(12%)
11-12 04:32:53.842:调试/ AndroidRuntime(291):>>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<<
11-12 04:32:53.842:调试/ AndroidRuntime(291):CheckJNI已打开
11-12 04:32:54.182:DEBUG / AndroidRuntime(291):-注册本机函数-
11-12 04:32:54.682:DEBUG / ddm-heap(291):获得功能列表请求
11-12 04:32:55.302:DEBUG / dalvikvm(104):GC在2157ms内释放了2293个对象/ 132304个字节
11-12 04:32:55.352:调试/ ActivityManager(52):卸载进程joel.AndroidGroupSMS
11-12 04:32:55.362:DEBUG / ActivityManager(52):强制删除进程ProcessRecord {43d9daf0 275:joel.AndroidGroupSMS / 10024}(joel.AndroidGroupSMS / 10024)
11-12 04:32:55.401:INFO / Process(52):发送信号PID:275 SIG:9
11-12 04:32:55.492:INFO / UsageStats(52):com.android.launcher的意外恢复,而已在joel.AndroidGroupSMS中恢复
11-12 04:32:55.512:INFO / WindowManager(52):WIN DEATH:窗口{43cf7840 joel.AndroidGroupSMS / joel.AndroidGroupSMS.AndroidGroupSMS paused = false}
11-12 04:32:55.592:INFO / ActivityManager(52):启动活动:目的{act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] flg = 0x10000000 cmp = joel.AndroidGroupSMS / .AndroidGroupSMS}
11-12 04:32:55.612:调试/ ActivityManager(52):收到线程android.os.BinderProxy@43bc8370的虚假死亡通知
11-12 04:32:55.652:DEBUG / AndroidRuntime(291):关闭VM
11-12 04:32:55.652:DEBUG / dalvikvm(291):DestroyJavaVM等待非守护程序线程退出
11-12 04:32:55.662:DEBUG / dalvikvm(291):DestroyJavaVM关闭VM
11-12 04:32:55.662:DEBUG / dalvikvm(291):HeapWorker线程关闭
11-12 04:32:55.672:调试/ dalvikvm(291):HeapWorker线程已关闭
11-12 04:32:55.672:DEBUG / jdwp(291):JDWP关闭网络...
11-12 04:32:55.672:INFO / dalvikvm(291):调试器已分离;对象注册表有1个条目
11-12 04:32:55.672:调试/ dalvikvm(291):虚拟机清理
11-12 04:32:55.732:错误/ AndroidRuntime(291):错误:线程附加失败
11-12 04:32:55.832:DEBUG / dalvikvm(291):LinearAlloc 0x0使用了639500 of 5242880(12%)
11-12 04:32:55.952:INFO / ActivityManager(52):启动proc joel.AndroidGroupSMS进行活动joel.AndroidGroupSMS / .AndroidGroupSMS:pid = 298 uid = 10024 gids = {1015}
11-12 04:32:56.062:WARN / InputManagerService(52):得到RemoteException发送setActive(false)通知给pid 275 uid 10024
11-12 04:32:56.392:DEBUG / ddm-heap(298):获得功能列表请求
11-12 04:32:56.592:WARN / ActivityThread(298):应用程序joel.AndroidGroupSMS正在等待端口8100上的调试器...
11-12 04:32:56.642:INFO / System.out(298):正在发送等待块
11-12 04:32:56.691:INFO / dalvikvm(298):调试器处于活动状态
11-12 04:32:56.872:INFO / System.out(298):调试器已连接
11-12 04:32:56.882:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:57.082:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:57.282:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:57.483:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:57.692:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:57.893:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:58.092:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:58.300:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:58.502:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:58.707:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:58.912:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:59.112:INFO / System.out(298):等待调试器稳定下来...
11-12 04:32:59.322:INFO / System.out(298):调试器已建立(1361)
11-12 04:33:00.792:INFO / ActivityManager(52):显示的活动joel.AndroidGroupSMS / .AndroidGroupSMS:4860毫秒(总计4860毫秒)
11-12 04:33:02.942:WARN / KeyCharacterMap(298):ID为0的无键盘
11-12 04:33:02.952:WARN / KeyCharacterMap(298):使用默认键盘映射:/system/usr/keychars/qwerty.kcm.bin
11-12 04:33:04.592:DEBUG / dalvikvm(99):GC在185ms内释放了481个对象/ 24704个字节

最佳答案

除了在String对象上使用toString()的部分外,其他一切都看起来不错,这不是必需的。

但是,文本和text2 TextViews是否位于与EditText视图相同的XML布局中?在这种情况下main.xml?如果答案为否,则尝试使用它们时会出现NullPointerException,因为findViewById找不到它们。

关于android - 尝试setText时,textview不断崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4158068/

相关文章:

android - sqlite 表中的每一行如何是唯一的。不仅仅是一列行

图像加载性能中的 Android Drawable 与 Asset

java - 与其他应用程序共享图像时共享操作栏按钮崩溃

java - SQLite 在按下按钮时导致崩溃

java - 即使项目存在且属性正确,为什么我的光标为空?

java - 在 xml 中创建的字符串数组与在 Java 类中初始化的字符串数组有什么区别

android - Main Activity 总是第一个启动的 Activity 吗?

android - 如何停止 ListView 回收?

android - 如何在谷歌地图android上连续移动与谷歌默认当前位置标记相同的标记

android - 以编程方式安装 apk 并省略安装对话框