Отправить сообщение через TCP Sockets - Java (закрыто) [дубликат]

Вы можете сделать это, используя событие MouseDown для изображения, подобное этому

<Image ... MouseDown="Image_MouseDown">
    <Image.ContextMenu>
        <ContextMenu>
            <MenuItem .../>
            <MenuItem .../>
        </ContextMenu>
    </Image.ContextMenu>
</Image>

. Затем покажите ContextMenu в EventHandler в коде позади

private void Image_MouseDown(object sender, MouseButtonEventArgs e)
{
    if (e.ChangedButton == MouseButton.Left)
    {
        Image image = sender as Image;
        ContextMenu contextMenu = image.ContextMenu;
        contextMenu.PlacementTarget = image;
        contextMenu.IsOpen = true;
    }
}
0
задан Gabriel Yamamoto 19 March 2019 в 17:13
поделиться

1 ответ

Не нужно сожалеть о вашем английском! это прекрасно:)

android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1598)

Вышеуказанная ошибка возникает, когда ваше приложение пытается выполнить любую сетевую операцию в основном потоке.

Вы можете использовать приведенный ниже код для принудительного выполнения операции или создания отдельного потока и выполнения операции.

Вариант 1: форсирование

    int SDK_INT = android.os.Build.VERSION.SDK_INT;
    if (SDK_INT > 8) 
    {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
        //your codes here

    }

Вариант 2: отдельная резьба

Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                // do something in here
            }
        });
thread.start();
0
ответ дан namu 19 March 2019 в 17:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: