我有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);
添加回答
舉報
0/150
提交
取消