java - 动态创建时出现新按钮上下文问题

标签 java android

嗨,我想在 android 中创建动态按钮,但是当我尝试为此设置上下文时,我遇到了这个问题: enter image description here

代码如下:

JSONArray jsonArr = new JSONArray(result);
for (int i=0; i < jsonArr.length(); i++) {
    JSONObject building = jsonArr.getJSONObject(i);
    Log.i("results", building.optString("name"));
    Button myButton = new Button(this);
    myButton.setText("Push Me");

    LinearLayout ll = (LinearLayout)findViewById(R.id.buildingLL);
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    ll.addView(myButton, lp);

有人可以帮我吗?

最佳答案

提供调用 WebServiceHandler 的上下文,然后

Button myButton = new Button(mContext); // mContext is the context received on WebServiceHandler class

如果WebServiceHandler是任何Activity的私有(private)类,那么

Button myButton = new Button(YOUR_ACTIVITY.this);

关于java - 动态创建时出现新按钮上下文问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44189042/

相关文章:

java - 如何阻止我的小程序刷新我的 GWT 页面?

java - 如何将变量传递给新的 Runnable 声明?

android - Flutter 应用程序在 Release模式下显示灰屏,但在 Debug模式下工作正常

android - 维护移动应用程序的 Facebook 身份验证 session

android - 如何在 Android Marshmallow 中获取 Wi-Fi Mac 地址

java - 编译时错误: package javax. servlet不存在导入javax.servlet.*

java - 如何使用正则表达式捕获空字段?

java - 减少在 Android 上使用 libvlc 播放 rtp 流时的延迟

java - 如何获得Android应用程序的Root权限?

Android onTaskRemoved() 调用网络服务