【问题标题】:Why setText won't output to string inside fragment?为什么 setText 不会输出到片段内的字符串?
【发布时间】:2014-12-12 19:56:51
【问题描述】:

在我 c/p 代码分段后,我的函数不会在应用程序内设置字符串。但它起初没有碎片,我找不到问题。应用程序运行正常,但它不会在屏幕上输出 setText 字符串,而字符串是可见的,默认字符串

public class MainFragment extends FragmentActivity{

    EditText editNumber;
    Button calculate;
    TextView result;

    int two = 2;
    int seven = 7;
    int inputNumber;

    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //find elements
        editNumber = (EditText) findViewById(R.id.editNumber);
        calculate = (Button) findViewById(R.id.calculateButton);
        result = (TextView) findViewById(R.id.resultText);

        //listener
        editNumber.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                    inputNumber = Integer.parseInt(editNumber.getText().toString());

              }
        });//onClick

        calculate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                result.setText("Output: " + (inputNumber / two) + seven);
            }
        });//onclick
    }//onCreate
}//main

[代码]

【问题讨论】:

    标签: android android-fragments fragment android-fragmentactivity settext


    【解决方案1】:

    FragmentActivity 中,您应该定义一个Fragment 对象,将其插入Activity's 框架并在其中显示内容。请参考:

    http://developer.android.com/guide/components/fragments.html

    【讨论】:

      【解决方案2】:

      你确定你的MainFragment 是一个片段吗?它扩展了活动:FragmentActivity。如果这只是一个错字问题,那么您必须在片段的 onCreateView() 方法中提供您的布局。像这样的:

      @Override
      public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
          final View v = inflater.inflate(R.layout.activity_main, container, false);
          result = (TextView) v.findViewById(R.id.resultText);
          return v;
      }
      

      使用 onCreateView() 以外的其他方法在片段中查找视图:

      getView().findViewById(R.id.resultText);
      

      【讨论】:

        猜你喜欢
        • 2017-05-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-18
        相关资源
        最近更新 更多