【问题标题】:Android: Error while using setText on TextViewAndroid:在 TextView 上使用 setText 时出错
【发布时间】:2013-09-10 17:11:21
【问题描述】:
 public class MainActivity extends Activity {
private TextView tx1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tx1= (TextView) findViewById(R.id.txtexample);
    try{
    tx1.setText("Hello testing");
    Log.i("Correct","No error");
    }
    catch(Exception e){

        Log.i("Error","Error here");
        e.printStackTrace();
    }
}

这里有什么问题?

堆栈跟踪:

08-21 06:19:43.713: E/Trace(3883): error opening trace file: No such file or directory (2)
08-21 06:19:43.892: I/Error(3883): Error here
08-21 06:19:43.902: W/System.err(3883): java.lang.NullPointerException
08-21 06:19:43.902: W/System.err(3883):     at com.example.textview.MainActivity.onCreate(MainActivity.java:18)
08-21 06:19:43.902: W/System.err(3883):     at android.app.Activity.performCreate(Activity.java:5104)
08-21 06:19:43.902: W/System.err(3883):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
08-21 06:19:43.902: W/System.err(3883):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
08-21 06:19:43.913: W/System.err(3883):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
08-21 06:19:43.913: W/System.err(3883):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
08-21 06:19:43.913: W/System.err(3883):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
08-21 06:19:43.923: W/System.err(3883):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-21 06:19:43.923: W/System.err(3883):     at android.os.Looper.loop(Looper.java:137)
08-21 06:19:43.923: W/System.err(3883):     at android.app.ActivityThread.main(ActivityThread.java:5041)
08-21 06:19:43.923: W/System.err(3883):     at java.lang.reflect.Method.invokeNative(Native Method)
08-21 06:19:43.923: W/System.err(3883):     at java.lang.reflect.Method.invoke(Method.java:511)
08-21 06:19:43.933: W/System.err(3883):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
08-21 06:19:43.933: W/System.err(3883):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-21 06:19:43.943: W/System.err(3883):     at dalvik.system.NativeStart.main(Native Method)
08-21 06:19:44.103: D/(3883): HostConnection::get() New Host Connection established 0x2a15efa0, tid 3883

附言

activity_main.xml

<TextView android:name="@+id/txtexample" 
 android:layout_width="wrap_content" 
  android:layout_height="wrap_content" />

【问题讨论】:

  • 检查布局activity_main是否有id为txtexample的TextView
  • 检查一下你的xml文件中textView的id是不是txtexample?
  • 你还没有为你的 TextView 定义 id,为它定义一个 Id,那么它应该可以工作

标签: android nullpointerexception


【解决方案1】:

这里你必须改变你的 xml 文件:

android:name="@+id/txtexample"

android:id="@+id/txtexample"

【讨论】:

  • 谢谢,我没看那里。这完全是我的错。
【解决方案2】:

检查您的布局 activity_main 是否有任何带有 id txtexample 的文本视图。

【讨论】:

    【解决方案3】:

    改变

    <TextView android:name="@+id/txtexample" 
    

    <TextView android:id="@+id/txtexample" 
    

    【讨论】:

      【解决方案4】:

      检查

      <TextView android:name="@+id/txtexample" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" />
      

      改成

       <TextView android:id="@+id/txtexample" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" /> 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-26
        • 1970-01-01
        • 2017-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多