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

我有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;


@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

}


@Override

public 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();

}

}


沧海一幻觉
浏览 122回答 3
3回答

慕盖茨4494581

在onCreate()方法的末尾尝试此代码MainActivity.javaNavigationView navigationView = findViewById(R.id.nav_view);//R.id.nav_view the id of the navigation drawerView drawerHead = navigationView.getHeaderView(0);//0 index of the headerTextView userName = drawerHead.findViewById(R.id.username);

慕尼黑5688855

你可以定义    static TextView tv;并且可以从其他类访问
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java