【问题标题】:FindViewbyID with fragmentsFindViewbyID 和片段
【发布时间】:2017-02-14 14:55:14
【问题描述】:

我有片段的这个问题。我想在我的应用程序中添加一个抽屉菜单,而不是使用片段。我有这段代码,当我放入片段时,“findviewbyid”没有更多工作。有人可以帮助我吗?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_contact);



    final EditText nome        = (EditText) findViewById(R.id.nome);
    final EditText citta       = (EditText) findViewById(R.id.citta);
    final EditText numero      = (EditText) findViewById(R.id.numero);
    final EditText email       = (EditText) findViewById(R.id.email);
    final EditText oggetto     = (EditText) findViewById(R.id.oggetto);
    final EditText messaggio    = (EditText) findViewById(R.id.messaggio);



    Button email = (Button) findViewById(R.id.post_message);
    email.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String name      = nome.getText().toString();
            String citta     = citta.getText().toString();
            String numero    = numero.getText().toString();
            String email     = mail.getText().toString();
            String oggetto   = oggetto.getText().toString();
            String messaggio   = messaggio.getText().toString();
            if (TextUtils.isEmpty(nome)){
                nome.setError("Inserisci il Tuo Nome");
                nome.requestFocus();
                return;
            }

谢谢你,对不起我的英语

【问题讨论】:

  • 片段布局应该在onCreateView()方法中设置

标签: android android-fragments findviewbyid


【解决方案1】:

Fragment 不是Activity,这意味着您不能使用活动方法或其生命周期。这意味着您无法在FragmentonCreate() 方法中找到视图,并且您也不能在其上使用findViewById

这是 Android 生命周期https://stackoverflow.com/a/36340059/4467208

并据此调整您的代码,像这样将您的 findViews 移动到 onCreateView()

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragmentLayout, container, false);
    nome = (EditText) view.findViewById(R.id.nome);
    return view;
}

等等。

【讨论】:

    猜你喜欢
    • 2017-10-02
    • 2014-04-30
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 2014-09-15
    相关资源
    最近更新 更多