我正在尝试在我的应用中创建用户个人资料部分。在我的登录活动中,我要求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)
答案 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);
}
}
如果您仍有问题,请提供您的代码。