为了账号安全,请及时绑定邮箱和手机立即绑定

从具有不同布局的 Activity 访问布局的 TextView

从具有不同布局的 Activity 访问布局的 TextView

沧海一幻觉 2021-06-15 09:17:05
我有mainActivity.java一个叫做布局类activity_main.xml和一个名为.xml文件drawer_menu.xml具有textView这显示在应用程序的drawer menu。我想抽屉菜单的设置textView文本的String价值,我有我的mainActivity.java课。我如何访问 mainActivity 类中的那个 textView?activity_main.java(访问textView的部分):    /** * Prompts the user for his/her username * when the tutorial is done */private void promptForUsername() {    UsernameDialog dialog = new UsernameDialog();    dialog.setCancelable(false);    dialog.show(getFragmentManager(),"USERNAME_DIALOG");    username.setText(getUsername());}public void setUsername(String name) {    tempName = name;}public String getUsername() {    return tempName;}UsernameDialog.java 类:public class UsernameDialog extends DialogFragment {@BindView(R.id.editText) EditText mEditText;@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);}@Overridepublic Dialog onCreateDialog(Bundle savedInstanceState) {    // inflate the layout using the dialog themed context    final Context context = getActivity();    final LayoutInflater inflater = LayoutInflater.from(context);    final View view = inflater.inflate(R.layout.username_dialog,null,false);    final MainActivity activity = new MainActivity();    ButterKnife.bind(this,view);    DialogInterface.OnClickListener posListener = new DialogInterface.OnClickListener() {        @Override        public void onClick(DialogInterface dialogInterface, int i) {            activity.setUsername(mEditText.getText().toString());            Log.d("USERNAME",mEditText.getText().toString());        }    };    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())            .setTitle("Choose your username")            .setView(view)            .setPositiveButton("OK",posListener);    return builder.create();}}
查看完整描述

3 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

在onCreate()方法的末尾尝试此代码MainActivity.java


NavigationView navigationView = findViewById(R.id.nav_view);

//R.id.nav_view the id of the navigation drawer


View drawerHead = navigationView.getHeaderView(0);

//0 index of the header


TextView userName = drawerHead.findViewById(R.id.username);


查看完整回答
反对 回复 2021-06-17
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

你可以定义

    static TextView tv;

并且可以从其他类访问


查看完整回答
反对 回复 2021-06-17
  • 3 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信