小编BAr*_*ell的帖子

如何将整数传递给CreateThread()?

如何将int参数传递给CreateThread回调函数?我试试看:

DWORD WINAPI mHandler(LPVOID sId) {
...
arr[(int)sId]
...
}

int id=1;
CreateThread(NULL, NULL, mHandler, (LPVOID)id, NULL, NULL);
Run Code Online (Sandbox Code Playgroud)

但我收到警告:

warning C4311: 'type cast' : pointer truncation from 'LPVOID' to 'int'
warning C4312: 'type cast' : conversion from 'int' to 'LPVOID' of greater size
Run Code Online (Sandbox Code Playgroud)

c++ int createthread

7
推荐指数
1
解决办法
9563
查看次数

android.graphics.Paint.getTextRunAdvances 处的 IndexOutOfBoundsException(Paint.java:1774)

在我的应用程序中,用户有时会遇到错误并且应用程序崩溃。用户向我发送日志:

java.lang.IndexOutOfBoundsException
 at android.graphics.Paint.getTextRunAdvances(Paint.java:1774)
 at android.graphics.Paint.getTextRunAdvances(Paint.java:1747)
 at android.text.MeasuredText.addStyleRun(MeasuredText.java:164)
 at android.text.MeasuredText.addStyleRun(MeasuredText.java:204)
 at android.text.StaticLayout.generate(StaticLayout.java:281)
 at android.text.DynamicLayout.reflow(DynamicLayout.java:332)
 at android.text.DynamicLayout.<init>(DynamicLayout.java:176)
 at android.widget.TextView.makeSingleLayout(TextView.java:6089)
 at android.widget.TextView.makeNewLayout(TextView.java:5987)
 at android.widget.TextView.onMeasure(TextView.java:6344)
 at android.view.View.measure(View.java:15479)
 at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617)
 at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399)
 at android.view.View.measure(View.java:15479)
 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4826)
 at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1396)
 at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1038)
 at android.widget.LinearLayout.onMeasure(LinearLayout.java:576)
 at android.view.View.measure(View.java:15479)
 at android.widget.ListView.setupChild(ListView.java:1847)
 at android.widget.ListView.makeAndAddView(ListView.java:1772)
 at android.widget.ListView.fillDown(ListView.java:672)
 at android.widget.ListView.fillSpecific(ListView.java:1330)
 at android.widget.ListView.layoutChildren(ListView.java:1600)
 at android.widget.AbsListView.onLayout(AbsListView.java:2300)
 at android.view.View.layout(View.java:14061)
 at android.view.ViewGroup.layout(ViewGroup.java:4374)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
 at android.view.View.layout(View.java:14061)
 at android.view.ViewGroup.layout(ViewGroup.java:4374)
 at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1655)
 at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1513)
 at android.widget.LinearLayout.onLayout(LinearLayout.java:1426)
 at android.view.View.layout(View.java:14061)
 at android.view.ViewGroup.layout(ViewGroup.java:4374)
 at android.widget.RelativeLayout.onLayout(RelativeLayout.java:948)
 at android.view.View.layout(View.java:14061)
 at android.view.ViewGroup.layout(ViewGroup.java:4374)
 at android.widget.FrameLayout.onLayout(FrameLayout.java:448) …
Run Code Online (Sandbox Code Playgroud)

android indexoutofboundsexception

7
推荐指数
1
解决办法
4101
查看次数

如何使用resValue?

我需要在build.gradle中计算整数值,然后在我的Java代码中使用它.我尝试:

的build.gradle:

android {
    defaultConfig {
        resValue "int", "MY_VAR_NAME", "123"
    }
}
Run Code Online (Sandbox Code Playgroud)

值目录中的preprocess.xml:

<integer name="my_int_value">MY_VAR_NAME</integer>
Run Code Online (Sandbox Code Playgroud)

我收到一个错误Cannot resolve symbol MY_VAR_NAME.

如何使用它?有手册吗?

android gradle

7
推荐指数
1
解决办法
2608
查看次数

状态栏透明度不起作用

我正在尝试使用此代码在我的应用程序中使状态栏透明:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().setStatusBarColor(Color.TRANSPARENT);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.状态栏只是更改颜色,变为灰色,不透明.我的错误在哪里?如何使状态栏透明?

android android-5.0-lollipop android-statusbar

7
推荐指数
1
解决办法
2133
查看次数

如何拦截单击TextView中的链接?

我有TextView,它包含带标签的HTML.我需要拦截用户对此链接的点击,获取"href"参数的值,检查它并打开我的活动,如果它是本地链接或打开浏览器,如果它链接到另一个网站.

我试着搜索并找到,但我无法理解如何在我的情况下使用它.

请帮忙.

android hyperlink textview

6
推荐指数
1
解决办法
5848
查看次数

如何从JObject获取第一个密钥?

Newtonsoft.Json在我的项目中使用.我JObject喜欢这个:

{
    "4781":"Name 1",
    "1577":"Name 2",
    "9973":"Name 3"
}
Run Code Online (Sandbox Code Playgroud)

我成功解析了它JObject.Parse().我需要从这个JObject("4781")获得第一个密钥.我怎么得到它?

wpf json.net

6
推荐指数
1
解决办法
5804
查看次数

如何更改RecyclerView中所有项目的布局?

我有一个RecyclerView。在适配器中,我有一个布尔标志来确定应为所有项目使用哪种布局:

public class MyAdapter extends RecyclerView.Adapter<MyHolder> {

    private boolean mIsSecondModeEnabled;

    @Override
    public MyHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(mIsSecondModeEnabled ?
         R.layout.layout_second_mode_item :
         R.layout.layout_first_mode_item, parent, false);
        return new MyHolder(view);
    }

    public void setModeEnabled(boolean enabled) {
        mIsSecondModeEnabled = enabled;
        notifyDataSetChanged();
    }
}
Run Code Online (Sandbox Code Playgroud)

该代码无法完全正确地工作。当我打电话给setModeEnabled(true)一些显示layout_first_mode_item布局的项目时。

如何实现呢?

java android android-layout android-view android-recyclerview

6
推荐指数
1
解决办法
1023
查看次数

Kotlin + Rx:必需的消费者,找到 KFunction

我正在使用 Kotlin + Retrofit + Rx。我想将请求之一提取到函数中:

fun getDataAsync(onSuccess: Consumer<Data>, onError: Consumer<in Throwable>) {
    ApiManager.instance.api
            .getData("some", "parameters", "here")
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(Consumer {
                time = System.currentTimeMillis()
                onSuccess.accept(it)
            }, onError)
}


fun onButtonClick() {
    getDataAsync(this::onSuccess, this::onError)
}

private fun onSuccess(data: Data) {}

private fun onError(throwable: Throwable) {}
Run Code Online (Sandbox Code Playgroud)

我得到一个错误getDataAsync(this::onSuccess, this::onError)

Type mismatch: inferred type is KFunction1<@ParameterName Data, Unit> but Consumer<Data> was expected

Type mismatch: inferred type is KFunction1<@ParameterName Throwable, Unit> but Consumer<in Throwable> was expected
Run Code Online (Sandbox Code Playgroud)

如何解决?

android kotlin retrofit rx-android

6
推荐指数
1
解决办法
2614
查看次数

为什么像素是浮动的?

Canvas类的所有方法都使用float类型的坐标.但为什么?据我所知,这个坐标意味着要显示的像素数.像素可以分开吗?

java android

5
推荐指数
1
解决办法
478
查看次数

如何更改菜单项文本?

我需要在运行时更改菜单项文本。我尝试使用 GetMenuItemInfo() 和 SetMenuItemInfo():

case WM_NOTIFYICONMSG:
    switch (lParam)  {
    case WM_LBUTTONDBLCLK:
        someAction();
        break;
    case WM_RBUTTONDOWN:
    {
        POINT point;
        GetCursorPos(&point);

        HMENU hMenu;
        HMENU hMenuTrackPopup;

        hMenu = LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_MENU));
        if (hMenu) {
            MENUITEMINFOA menuitem = { sizeof(MENUITEMINFOA) };
            GetMenuItemInfoA(hMenu, IDM_EXIT, false, &menuitem);
            menuitem.dwTypeData = "New text here";
            SetMenuItemInfoA(hMenu, IDM_EXIT, false, &menuitem);
            hMenuTrackPopup = GetSubMenu(hMenu, 0);
            TrackPopupMenu(hMenuTrackPopup, 0, point.x, point.y, 0, hWnd, NULL);
            DestroyMenu(hMenu);
        }
    }
        break;
    default:
        break;
    }
    break;
Run Code Online (Sandbox Code Playgroud)

但它不起作用,文本没有改变。我做错了什么?如何实施?

c++ winapi visual-c++

5
推荐指数
1
解决办法
3118
查看次数