【问题标题】:EditText does not work on FragmentActivity in AndroidEditText 不适用于 Android 中的 FragmentActivity
【发布时间】:2013-10-11 09:13:11
【问题描述】:

在我的 Android 应用程序中,我将片段活动用于片段标签主机。在该片段活动中,我使用了一个编辑文本框,我无法在该编辑文本中编辑或输入文本。

该片段活动的代码是

package com.example.fragmenttabhost;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;

public class FragmentTab extends android.support.v4.app.Fragment {

private Button btnTest;
private Activity context;
private EditText edtTest;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    context=getActivity();
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_layout, container, false);
    return v;
}
public void onActivityCreated(Bundle savedInstanceState){
    super.onActivityCreated(savedInstanceState);
    context=getActivity();
    btnTest=(Button)context.findViewById(R.id.button1);
    edtTest=(EditText)context.findViewById(R.id.editText1);
    edtTest.setText("Test text");
    final AlertDialog.Builder builder = new AlertDialog.Builder(context);

    builder.setTitle("Test");    
    btnTest.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String str=edtTest.getText().toString();
            builder.setMessage(str);
            builder.show();
        }
    });
  }
  }

【问题讨论】:

  • 贴出相关代码
  • 发布您的代码。没有相关代码就无法提出解决方案。
  • 我已经为编辑文本不工作的片段活动添加了代码

标签: android android-fragmentactivity


【解决方案1】:

试试下面的代码

只需在 onCreateView() 方法上添加所有代码。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_layout, container, false);

    context=getActivity();
    btnTest=(Button)context.findViewById(R.id.button1);
    edtTest=(EditText)context.findViewById(R.id.editText1);
    edtTest.setText("Test text");
    final AlertDialog.Builder builder = new AlertDialog.Builder(context);

    builder.setTitle("Test");    
    btnTest.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String str=edtTest.getText().toString();
            builder.setMessage(str);
            builder.show();
        }
    });
  }

    return v;
}

希望它对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 2015-04-20
    • 1970-01-01
    • 2011-10-18
    相关资源
    最近更新 更多