我有一个Fragment类EchossStampFragment
,可以直接在其中引用
.findViewbyId(R.id.mainView)
在我的第二个非片段类课程中,EchossMainView
我想讲解此View并更改其背景。
我该如何在onInitSuccess中解决它,如下所示:
public void onInitSuccess() {
// EchossStampActivity.setText("onInitSuccess");
mainView.setBackgroundColor(Color.RED);
}
在EchossMainView
上课吗?
EchossStampFragment类
public class EchossStampFragment extends Fragment implements EchossStampInterface {
private static final String TAG = MainActivity.class.getSimpleName();
View myView;
private SupportMapFragment mapFragment;
EchossMainView mainView = null;
static TextView textView = null;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myView = inflater.inflate(R.layout.activity_echoss, container, false);
return myView;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mainView = (EchossMainView) getView().findViewById(R.id.mainView);
textView = (TextView) getView().findViewById(R.id.textView);
FragmentManager fm = getChildFragmentManager();
// Display Initialization
DisplayMetrics metric = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(metric);
mainView.init(metric);
mainView.initEchossMainView(this); // this is where we are passing the current activity as interface
// Library Initialization for Stamp
mainView.echossPlatformInit(APIKEY, REGION, LANGUAGE, INDEX);
}
EchossMainView类别
public class EchossMainView extends StampBaseView {
private EchossStampInterface mEchossStampInterface;
public EchossMainView(Context context) {
super(context);
}
public EchossMainView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public EchossMainView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void onInitSuccess() {
EchossStampActivity.setText("onInitSuccess");
mainView.setBackgroundColor(Color.RED);
}
public void onInitError(String code, String message) {
EchossStampFragment.setText("onInitError - " + code + " " + message);
}
public void onStampSuccess(String stampResult) {
EchossStampFragment.setText("onStampSuccess - " + stampResult);
}
public void onStampError(String code, String message) {
EchossStampFragment.setText("onStampError - " + code + " " + message);
}
}
由于EchossMainView
必须最终从View扩展,因此可以从该类本身内部调用setBackground:
public void onInitSuccess() {
setBackgroundColor(Color.RED);
}
此处的方法文档:https : //developer.android.com/reference/android/view/View.html#setBackgroundColor(int)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句