cocos 如何更新java代码_cocos2d-x Jni c++ java互调 并且相互刷新UI控件最简单例子(下)...

c++ 调用java 篇:

c++调用java。同事刷新android的Edit View控件

第一步:

05768b5bdbc6a449d8a7c7b5faeaa0f6.png

第二步:创建布局文件

b4f63791eddffe98e9e30a21948880b9.png

第三步:

public static EditText myView;

826b5334053ed848ef873123360941a4.png

第四步:添加文本输入框

8054cf5cf8583abfd2b11bd468e69fb9.png

LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

myView =(EditText)LayoutInflater.from(this).inflate(R.layout.myedit,framelayout,false);

myView.addTextChangedListener(watcher);

myView.setMovementMethod(ScrollingMovementMethod.getInstance());

framelayout.addView(myView);

第五步:添加监听

193acf750bbf08734d454acdb23fbf56.png

TextWatcher watcher = new TextWatcher()

{

@Override

public void afterTextChanged(Editable s)

{

// TODO Auto-generated method stub

Log.d(TAG,111111);

}

@Override

public void beforeTextChanged(CharSequence s, int start, int count, int after)

{

// TODO Auto-generated method stub

Log.d(TAG,22222);

}

@Override

public void onTextChanged(CharSequence s, int start, int before, int count)

{

Log.d(TAG,33==[TextWatcher][onTextChanged]+s);

}

};

第六步:

alt=

3f9b744ea8b830da3de8d80fcabefd8f.png

public static void hideAdView(String[] str)

{

mHandler.obtainMessage( 100, str ).sendToTarget();

}

private static HandlermHandler =new Handler()

{

public void handleMessage(Message msg)

{

switch (msg.what)

{

case 100://UPDATE_UI:

{

String[] arrStrings = (String[])msg.obj;

if(arrStrings[0].equals(I'm a titile))

{

TestJni.this.myView.setText(C++ Change Java EditView string Test!);

}

}

break;

default:

break;

}

}

};

补充:

//myView.setBackgroundColor(Color.TRANSPARENT);//改变背景色透明

//framelayout.removeView(myView);//移除控件

C++部分代码

03f36ee864c1ef171bccf35a85c1b90e.png

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

#include platform/android/jni/JniHelper.h

void HelloWorld::goJava()

{

JniMethodInfo jmi;

if(JniHelper::getStaticMethodInfo(jmi , org/cocos2dx/TestJni/TestJni , hideAdView , ([Ljava/lang/String;)V))

{

jclass str_cls = jmi.env->FindClass(java/lang/String);

jstring str1 = jmi.env->NewStringUTF(I'm a titile);

jstring str2 = jmi.env->NewStringUTF(Are yor exit game?);

jobjectArray arrs = jmi.env->NewObjectArray(2 , str_cls , 0);

jmi.env->SetObjectArrayElement(arrs , 0 , str1);

jmi.env->SetObjectArrayElement(arrs , 1 , str2);

jmi.env->CallStaticVoidMethod(jmi.classID , jmi.methodID , arrs);

}

}

#endif

然后调用

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

goJava();

#endif

最后编译c++和android

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值