我有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 回答
![?](http://img1.sycdn.imooc.com/533e4d5b0001d57502200203-100-100.jpg)
慕盖茨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);
添加回答
举报
0/150
提交
取消