小编Chr*_*ang的帖子

Android:将搜索查询返回到当前活动

我按照http://developer.android.com/guide/topics/search/search-dialog.html上描述的步骤在我的记事本应用程序中实现搜索功能.

我的问题是,当我完成搜索时,新的活动会打开捕获我的搜索查询.但我真正想要的是,查询返回到当前活动而不是开始新活动.

这可能吗?

更新:

AndroidManifest.xml中


<activity android:name="MyNotepad"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <action android:name="android.intent.action.SEARCH"></action>
            </intent-filter>
            <meta-data android:resource="@xml/searchable" android:name="android.app.searchable"></meta-data>
        </activity><activity android:name="Preferences" android:label="Preferences" >
</activity>

searchable.xml


<?xml version="1.0" encoding="utf-8"?>
<searchable
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:label="@string/app_name"
  android:hint="@string/search_hint">
</searchable>

JAVA代码


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_pad);
    Intent intent = getIntent();
    if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        String query = intent.getStringExtra(SearchManager.QUERY);
        Toast.makeText(getApplicationContext(), query, Toast.LENGTH_LONG).show();
    }
}


@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch(item.getItemId())
    {
        case R.id.menuItemSearch:
            startSearch("", false, null, false);
    break;
    }
    return true; …
Run Code Online (Sandbox Code Playgroud)

search android

46
推荐指数
4
解决办法
3万
查看次数

Android Emulator不会运行从eclipse启动的应用程序

我已经关注了谷歌Android开发人员指南中的"Hello World"示例.当我尝试在SDK模拟器中运行应用程序时,没有任何反应.模拟器启动很好,但之后没有任何反应.我甚至无法在应用程序托盘中看到该应用程序.

我正在使用安装了Android附加组件的Eclipse.

eclipse android android-emulator

28
推荐指数
3
解决办法
10万
查看次数

显示ConnectionString对话框

我正在尝试在C#中创建一个应该能够创建,备份和还原SQL Server数据库的程序.

为此,用户需要能够为所需的SQL Server(和数据库)设置连接字符串.

我想使用与Visual Studio相同的对话框来创建连接字符串.

这可能吗?

c# sql sql-server connection-string

19
推荐指数
2
解决办法
2万
查看次数

将DataGrid列标头绑定到DataContext

我知道之前已经问过这个问题,但是"以前的"答案似乎对我没什么影响......

我已经在我的应用程序中实现了多语言的功能,因此我必须将DataGrid列的标头绑定到DataContext.

我在DataContext中使用一个字典(在下面的例子中称为Text)来存储文本,并且绑定可以与文本块,按钮等一起使用.

<TextBlock Text="{Binding Text[Name], FallbackValue='Name'" />
Run Code Online (Sandbox Code Playgroud)

但是,我无法使用它来处理DataGrid列的Header属性.

我在某处读到,我需要为列/标题编写一个模板来实现这一点,但我也无法解决这个问题.

data-binding wpf datagrid mvvm

11
推荐指数
2
解决办法
2万
查看次数

桌面应用程序的多个Google访问权限

我正在用C#编写桌面应用程序,该应用程序应该能够访问Google Apps"帐户"上的所有用户和每个用户的检索日历事件.我已将Calendar API和Admin SDK添加到我的"项目"中.

这两种方法(下面)都可以自行运行,但是当我想为两个API授权我的应用程序时,我收到以下权限错误.

许可不足[403]

invalid_grant",描述:"令牌已被撤销.

这让我想知道在应用程序启动时是否可以请求所有权限,而不是单独授权"功能"?

    static string[] CalendarScopes = {CalendarService.Scope.CalendarReadonly };
    static string[] DirectoryScopes = {    DirectoryService.Scope.AdminDirectoryUserReadonly };

    private static void GoogleCalendar()
    {
        UserCredential credential;

        using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
        {
            string credPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            credPath = Path.Combine(credPath, ".credentials");

            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                GoogleClientSecrets.Load(stream).Secrets,
                CalendarScopes,
                "user",
                CancellationToken.None,
                new FileDataStore(credPath, true)).Result;
        }

        // Create Google Calendar API service.
        var service = new CalendarService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = ApplicationName,
        });

        // Define parameters of …
Run Code Online (Sandbox Code Playgroud)

c# google-calendar-api google-apps google-contacts-api

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

从 C# 服务中使用 Graph API 获取日历计划

我需要使用 Microsoft Graph API 通过 .NET Core Windows 服务从日历中获取忙/闲时间表。根据微软自己的文档,我应该使用以下内容:

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var schedules = new List<String>()
{
    "adelev@contoso.onmicrosoft.com",
    "meganb@contoso.onmicrosoft.com"
};

var startTime = new DateTimeTimeZone
{
    DateTime = "2019-03-15T09:00:00",
    TimeZone = "Pacific Standard Time"
};

var endTime = new DateTimeTimeZone
{
    DateTime = "2019-03-15T18:00:00",
    TimeZone = "Pacific Standard Time"
};

var availabilityViewInterval = 60;

await graphClient.Me.Calendar
    .GetSchedule(schedules,endTime,startTime,availabilityViewInterval)
    .Request()
    .Header("Prefer","outlook.timezone=\"Pacific Standard Time\"")
    .PostAsync();
Run Code Online (Sandbox Code Playgroud)

我已经使用 Azure 门户注册了一个新应用程序,并为其授予了 Calendars.Read 权限。

我的 C# 代码:

try
{
    IConfidentialClientApplication clientApplication = …
Run Code Online (Sandbox Code Playgroud)

c# .net-core azure-ad-graph-api microsoft-graph-api

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

创建DataGrid ReadOnly的第一行

我正在使用DataGrid在我的WPF应用程序中显示用户权限.

DataGrid的第一行将始终包含为其显示权限的项目的所有者.

在创建项目时设置此所有者,并且无法直接从DataGrid更改.

我的问题是.

如何创建第一行ReadOnly,并且可能给它一个特定的样式,以便可以更改背景?

wpf datagrid

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