在我将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
[代码]
答案 0 :(得分:0)
在FragmentActivity
中,您应该定义一个Fragment
对象,将其插入Activity's
框架并在其中显示内容。请参阅:
http://developer.android.com/guide/components/fragments.html
答案 1 :(得分:0)
您确定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);