1
我在我的片段中實現自定義鍵盤。我想將位於我的片段UI中的EditText的ResourceId發送到自定義鍵盤類。我在收到自定義鍵盤類中的ResourceId時收到NullPointerException,這意味着Resourceid未發送。如何將ResourceId從片段發送到另一個類
我實現的代碼是:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_barcode_detail,
container, false);
inflater = (LayoutInflater) mActivity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
editText_barcode = (EditText) rootView
.findViewById(R.id.editText_barcode);
mCustomKeyboard = new CustomKeyboard(mActivity, R.id.keyboardview,R.xml.hexkbd);
System.out.println("====inac====" + R.id.editText_barcode);
mCustomKeyboard.registerEditText(mActivity, R.id.editText_barcode);
return rootView;
}
自定義鍵盤類是:
class CustomKeyboard {
private KeyboardView mKeyboardView;
/** A link to the activity that hosts the {@link #mKeyboardView}. */
private Activity mHostActivity;
private EditText edittext;
public CustomKeyboard(Activity host, int viewid, int layoutid) {
mHostActivity= host;
mKeyboardView= (KeyboardView)mHostActivity.findViewById(viewid); //
Getting Resourceid successfully
mKeyboardView.setKeyboard(new Keyboard(mHostActivity, layoutid));
mKeyboardView.setPreviewEnabled(false);
mKeyboardView.setOnKeyboardActionListener(mOnKeyboardActionListener);
}
public void registerEditText(int resid) {
// Find the EditText 'resid'
System.out.println("======ed"+resid);
edittext= (EditText)mHostActivity.findViewById(resid);//
Not Getting Resourceid
}
相反'R.id.editText_barcode'發送'editText_barcode'對象EditText –
感謝它的工作:) –
只是接受我的回答.... –