我制作了一个为条形码扫描器实现ZXing库的应用程序。我在片段中运行该应用程序,我不知道如何在自定义方法(onActivityResult)中setText。这是我的代码。
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
//retrieve scan result
IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanningResult != null) {
//we have a result
String scanContent = scanningResult.getContents();
//String scanFormat = scanningResult.getFormatName();
codeET=(EditText)getView().findViewById(R.id.editText3);
codeET.setText(scanContent);
}
else{
Toast toast = Toast.makeText(getActivity(),
"No scan data received!", Toast.LENGTH_SHORT);
toast.show();
}
}
这让我很烦恼:
codeET=(EditText)getView().findViewById(R.id.editText3);
codeET.setText(scanContent);
findViewById似乎不适用于此。我也试过
codeET=(EditText)myFragmentView.findViewById(R.id.editText3);
但我不知道如何让myFragmentView
工作。
任何帮助将不胜感激。
答案 0 :(得分:0)
我通常会创建一个存储托管活动参考的成员:
public class MyFragment extends Fragment {
private View mContentView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LayoutInflater inflater = getActivity().getLayoutInflater();
mContentView = inflater.inflate(R.layout.fragment_layout , null);
setView(mContentView);
return create();
}
@Override
public void onActivityCreated(Bundle arg0) {
super.onActivityCreated(arg0);
b = (Button) mContentView.findViewById(R.id.close);
b.setOnClickListener(this);
}
}
答案 1 :(得分:0)
尝试
codeET.setText(scanContent,TextView.BufferType。 EDITABLE );