小编Vah*_*iri的帖子

如何在代码中打开或关闭 SwitchCompat

我想在代码中打开或关闭 SwitchCompat 小部件。我的意思是当用户将 SwitchCompat 从 On 更改为 Off 或其他时。我想在代码中做到这一点。我该怎么做?

SwitchCompat switchCompat = (SwitchCompat) findViewById(R.id.switch_compat);

android

3
推荐指数
1
解决办法
6579
查看次数

使用 PHP Simple HTML DOM Parser 从 html 中提取 dom 元素

我正在尝试使用PHP Simple HTML DOM PARSER从此站点中提取包括文本在内的文章链接。

在此处输入图片说明

我想提取h2主页中文章的所有标签,我正在尝试这样做:

    $html = file_get_html('http://www.winbeta.org');
    $articles = $html->getElementsByTagName('article');
    $a = null;

    foreach ($articles->find('h2') as $header) {
                $a[] = $header;
    }

    print_r($a);
Run Code Online (Sandbox Code Playgroud)

根据手册,它应该首先获取article标签内的所有内容,然后为每篇文章提取 h2 并保存在数组中。但它给了我:

在此处输入图片说明

编辑 在此处输入图片说明

html php dom simple-html-dom

2
推荐指数
1
解决办法
1056
查看次数

只有通过3秒才能再次调用方法

我想实现一些方法来防止方法被立即调用几次.例如,想象一下,如果我有一个类:

class Example
{
    public void MyFunction()
    {
        // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

用户可以调用MyFunction但仅在自上次调用后经过3秒后调用.如果在3秒之前调用它,则不会发生任何事情(应忽略调用).

我该怎么办?

编辑:

我不想用Thread.Sleep.我在考虑使用Timer类System.Timer.但不知道我将如何使用它来满足我的需求.

.net c#

2
推荐指数
1
解决办法
481
查看次数

从 Vue 3 组合 api 中的函数内部返回 Apollo useQuery 结果

我在寻找一种使用Apollo v4Vue 3组合 API将结果从方法内部返回到模板的干净方法时遇到一些问题。

这是我的组件:

export default {
    components: {
        AssetCreationForm,
        MainLayout,
        HeaderLinks,
        LoadingButton,
        DialogModal
    },

    setup() {
        const showNewAssetModal = ref(false);

        const onSubmitAsset = (asset) => {
            // how do I access result outside the handler function
            const { result } = useQuery(gql`
                  query getAssets {
                    assets {
                        id
                        name
                        symbol
                        slug
                        logo
                    }
                  }
                `)
            };
        }

        return {
            showNewAssetModal,
            onSubmitAsset,
        }
    },

}
Run Code Online (Sandbox Code Playgroud)

onSubmitAsset当用户单击页面上的按钮时调用该函数。

如何result从设置函数返回 useQuery 以便能够在模板中访问它?(我不想复制该值)

vue.js graphql apollo-client vuejs3 vue-composition-api

2
推荐指数
1
解决办法
2298
查看次数

使用或不使用new在C#中创建对象

我有以下课程:

public class Product
{
    public int ProductID { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public decimal Price { get; set; }
    public string Category { set; get; }
}

public class LinqValueCalculator
{
    public decimal ValueProducts(IEnumerable<Product> products)
    {
        return products.Sum(p => p.Price);
    }
}

public class ShoppingCart
{
    private LinqValueCalculator calc;
    public ShoppingCart(LinqValueCalculator calcParam)
    {
        calc = calcParam;
    }
    public IEnumerable<Product> Products { get; set; }
    public decimal …
Run Code Online (Sandbox Code Playgroud)

c# object

1
推荐指数
2
解决办法
2997
查看次数

Xamarin Android不再需要调用异步方法

我有一个片段,用于返回从REST API收到的文章列表.async我正在使用REST API await等待它完成.完成后,我将数据(即List<Article>)传递给一个被调用的变量,listofarticles并使用它来创建一个ArrayAdapter.

我在OnCreate这个片段的方法中做了上面的代码,OnCreateView据我所知,它应该在之前运行.

我的代码在一个活动中工作,但不是片段.

问题: 不等待对等待REST方法的调用.

逐行调试时,它是这样的:

  • OnCreate叫做.加工线在那里我称之为awaitable方法(即是为了填补listofarticles),简单地跳到OnCreateView.因此listofarticles为空.

  • OnCreateView被调用和处理.此时程序只会回到它所调用的活动.

  • 我无法再调试它,因为Xamarin Studio认为我已经完成了但是在模拟器之后它只是在所有这些之后开始调用REST方法,因为内部的数据listofarticles是无用的,因为我现在无法将它传递给Adapter.

为什么会发生这种情况以及如何解决?

public class LatestNewsFragment : Android.Support.V4.App.Fragment, ListView.IOnItemClickListener
{
    private Context globalContext = null;
    private List<Article> listofarticles;
    private ArrayAdapter<Article> listAdapter;

    public LatestNewsFragment()
    {
        this.RetainInstance = true;
    }

    public async override void OnCreate (Bundle savedInstanceState)
    {
        base.OnCreate (savedInstanceState);
        globalContext = this.Context;

        //Create a progress …
Run Code Online (Sandbox Code Playgroud)

c# android asynchronous xamarin

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

Laravel中一条路线的GET和POST控制器

我希望有两个路由规则GETPOST重定向到一个控制器的方法.问题是GET不需要任何参数(它返回一个视图),但POST会有一些通过表单发送的参数.

在ASP.NET MVC5中,我使用一个路由规则两个具有相同名称的控制器方法,但其中一个(POST方法)具有[HttpPost]属性和GET方法没有任何参数或属性时所需的参数.

如何在Laravel 5.x中实现类似的东西?

这是可能的控制器:

public function convertUrl($somedataforpost)
{
    if(Request::isMethod('get'))
    {
        // return a view
    }
    if(Request::isMethod('post'))
    {
        // do something with POST data
    }
}
Run Code Online (Sandbox Code Playgroud)

php laravel-5

0
推荐指数
1
解决办法
2950
查看次数

将函数名称传递给Func委托

我有一个非常具体的情况.我需要接受来自用户的函数名称并将此函数名称(我们已经知道此函数存在)传递给另一个处理函数调用的方法.此方法已命名RunMethod并接受Func<string, string> method.

我知道我可以使用类似的东西:

string methodName = "methodName";
MethodInfo mi = this.GetType().GetMethod(methodName);
mi.Invoke(this, null);
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我将不得不改变RunMethod方法,因为使用它的现有代码,它不是一个选项.

那么如何将字符串作为方法名称传递给另一个接受的方法Func<string, string>呢?

简化的实施:

static void Main(string[] args)
{
    var pr = new Program();

    Console.WriteLine("Enter a method name: ");

    // user enters a method name
    string input = Console.ReadLine();

    // Can accept Method1 or Method2 as parameter
    // But we need to pass the "input"
    RunMethod(Method1);

    Console.WriteLine("Press any key to exit");
    Console.ReadKey();
}

static void RunMethod(Func<string, …
Run Code Online (Sandbox Code Playgroud)

.net c#

0
推荐指数
1
解决办法
744
查看次数