编辑XML文件中的字符串

时间:2017-12-29 21:24:17

标签: java android string nullpointerexception resources

我正在尝试在我的应用中创建用户个人资料部分。在我的登录活动中,我要求FirebaseAUTH.getCurrentUser()。getDisplayName()中的用户名并将其保存在字符串中。

在我的主要活动的xml文件中,我将textView与包含占位符的字符串放在一起。

我在Login和Main Activity Java文件中尝试过.setText .format等,但文本根本没有改变..

有关如何解决此问题的任何提示?

 public class MainActivity extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener {
    private HomeFragment hf;
    private WebViewFragment wvf;

   protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
     setSupportActionBar(toolbar);

     firebaseAuth = FirebaseAuth.getInstance();
     if (firebaseAuth.getCurrentUser().getDisplayName() != null) {
        String name = firebaseAuth.getCurrentUser().getDisplayName();
        final TextView profile = (TextView)findViewById(R.id.profile_section);
        profile.setText("Test");
    }

E / AndroidRuntime:致命异常:主要                   过程:com.example.vreeni.firebaseauthentiction,PID:6060                   java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.vreeni.firebaseauthentiction / com.example.vreeni.firebaseauthentication.MainActivity}:java.lang.NullPointerException:尝试调用虚方法'void android.widget.TextView。 null对象引用上的setText(java.lang.CharSequence)'                       在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2822)                       在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2897)                       在android.app.ActivityThread.-wrap11(未知来源:0)                       在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1598)                       在android.os.Handler.dispatchMessage(Handler.java:105)                       在android.os.Looper.loop(Looper.java:251)                       在android.app.ActivityThread.main(ActivityThread.java:6563)                       at java.lang.reflect.Method.invoke(Native Method)                       在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240)                       在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)                    引发者:java.lang.NullPointerException:尝试在空对象引用上调用虚方法'void android.widget.TextView.setText(java.lang.CharSequence)'                       在com.example.vreeni.firebaseauthentication.MainActivity.onCreate(MainActivity.java:52)                       在android.app.Activity.performCreate(Activity.java:6975)                       在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)

1 个答案:

答案 0 :(得分:0)

您可以在this resource的顶部找到一个简单的示例。

 public class MainActivity extends Activity {

    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         final TextView helloTextView = (TextView) findViewById(R.id.text_view_id);
         helloTextView.setText(R.string.user_greeting);
     }
 }

如果您仍有问题,请提供您的代码。