问题列表 - 第32577页

try-catch-finally在Java问题中抛出异常

我是Java初学者,但我认为在使用try-catch-finally时我不必使用声明异常throws SQLException.但是,如果我不使用它,编译器会给我错误:

"未报告的异常java.sql.SQLException;必须被捕获或声明被抛出".

我包含了一个catch,所以我不确定为什么会出现这种错误.

public static ResultSet getResultSet ( String query ) 
{
    dbConn = getConnection();

    try
    {
       stmt = dbConn.createStatement( );

       ResultSet rs = stmt.executeQuery( query );

       return rs;
    }
   catch (SQLException ex)
   {
       return null;
   }
   finally
   {
       stmt.close();
       dbConn.close();
   }
}
Run Code Online (Sandbox Code Playgroud)

java exception try-catch-finally

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

查找所有子元素的最大值并在XSLT中获取其父元素

使用下面的XML,我需要弄清楚哪个人在每个站点工作的时间更长.例如,在下面的XML中,人1在站点1中工作8小时但是人​​2工作仅6小时.因此,结果应包含转换后的XML中的person 1和site 1.如果小时数相等,请选择第一个人.

编辑:我希望使用XSLT 1.0实现.

<root>
    <WorkSite Person="P1" Site="S1">
        <Hours>8</Hours>
    </WorkSite>
    <WorkSite Person="P1" Site="S2">
        <Hours>2</Hours>
    </WorkSite>
    <WorkSite Person="P1" Site="S3">
        <Hours>9</Hours>
    </WorkSite>
    <WorkSite Person="P2" Site="S1">
        <Hours>6</Hours>
    </WorkSite>
    <WorkSite Person="P2" Site="S2">
        <Hours>10</Hours>
    </WorkSite>
    <WorkSite Person="P2" Site="S3">
        <Hours>2</Hours>
    </WorkSite>
</root>
Run Code Online (Sandbox Code Playgroud)

XSLT转换结果应如下所示:

<root> 
    <WorkSite Person="P1" Site="S1"/>  
    <WorkSite Person="P2" Site="S2"/> 
    <WorkSite Person="P1" Site="S3"/> 
</root>
Run Code Online (Sandbox Code Playgroud)

xml xslt

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

仅将新项目从一个列表添加到另一个列表

我有两个清单:

List<string> _list1;
List<string> _list2;
Run Code Online (Sandbox Code Playgroud)

我需要在_list1上添加所有_list2不同的项目...

我怎么能用LINQ做到这一点?

谢谢

c# linq asp.net

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

在ICSharpCode文本编辑器中选择文本

我试图在ICSharpCode TextEditor中选择文本行.以及使文本框转到特定行.该应用程序是在Windows 2010中使用C#构建的Windows窗体应用程序.

我使用文本编辑器的原因是代码突出显示和行号等.

我真的没有太多使用Windows窗体的经验,所以任何帮助将不胜感激.我的守则如下:

textEditorControl.Text = "long file string with line breaks";
textEditorControl.VRulerRow = 10; //Example row selection
Run Code Online (Sandbox Code Playgroud)

c# sharpdevelop winforms

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

如何取消Android通知?

我正在创建一个应用程序,用户可以根据GPS位置设置警报.我只想在任何时候激活1个警报.因此,当用户设置第二个警报时,我想取消第一个警报的通知(然后为第二个警报设置新的通知).

现在,我的通知继续堆叠(因为我无法删除它们,所以它们都是活动的).这是我的代码,我试图删除警报和通知:

// Stop the location alarm activity
Intent intentAlarmService_delete = new Intent(v.getContext(), AlarmService.class);
stopService(intentAlarmService_delete); // I think this calls onDestroy() in AlarmService class ...

mNtf = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mNtf.cancelAll();

Intent alarmIntent2 = new Intent(getApplicationContext(), OneTimeAlarmReceiver.class);
PendingIntent pendingIntentAlarm = PendingIntent.getBroadcast(getApplicationContext(), PENDING_INTENT_REQUEST_CODE1, 
    alarmIntent2, PendingIntent.FLAG_CANCEL_CURRENT);
pendingIntentAlarm.cancel();
Run Code Online (Sandbox Code Playgroud)

这是我的AlarmService.class中的onDestroy()函数(我不确定何时调用它...)

public void onDestroy(){
    super.onDestroy();
    mNtf.cancel(NOTIFICATION_ID1);

    Intent alarmIntent = new Intent(getApplicationContext(), OneTimeAlarmReceiver.class);

    PendingIntent pendingIntentAlarm = PendingIntent.getBroadcast(getApplicationContext(), PENDING_INTENT_REQUEST_CODE1, 
        alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT);
    pendingIntentAlarm.cancel();

    Intent intentAlarmService = new Intent(getApplicationContext(), AlarmService.class); 
    stopService(intentAlarmService); 

    mNtf.cancel(NOTIFICATION_ID1);
    mNtf.cancelAll();
}
Run Code Online (Sandbox Code Playgroud)

然后,这就是我设置新警报和通知的方式:

Intent intentAlarmService2 = new Intent(v.getContext(), …
Run Code Online (Sandbox Code Playgroud)

android

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

在一系列值上执行操作的C#模式是什么?

我有这个代码:

if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Orange) == KeyState.Lock)
    PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Orange, 0, 0);

if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Blue) == KeyState.Lock)
    PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Blue, 0, 0);

if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Shift) == KeyState.Lock)
    PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Shift, 0, 0);

if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Control) == KeyState.Lock)
    PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Control, 0, 0);

...
Run Code Online (Sandbox Code Playgroud)

我想重构将键/函数定义与动作分开的代码.Key.xxx和Function.xxx不是同一类型.

例如:在Python中,我可以简单地执行以下操作:

keys = (
    ( Key.Orange, Function.Orange ),
    ( Key.Blue  , Function.Blue ),
    ( Key.Shift , Function.Shift ),
    ...
    )

psi_key = PsionTeklogix.Keyboard.Keyboard

for key, func in keys:
    if psi_key.GetModifierKeyState(key) == KeyState.Lock):
        psi_key.InjectKeyboardCommand(func, 0, 0)
Run Code Online (Sandbox Code Playgroud)

在C#中做什么是"正确的方法"?

c#

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

LinearLayout从右到左填充

我想在右侧创建一个带有提交按钮的输入框.它们之间应该跨越屏幕的宽度.目前我有:

LinearLayout row= new LinearLayout(context);
row.setOrientation(HORIZONTAL);
row.setGravity(Gravity.RIGHT);
EditText input = new EditText(context);
Button submit = new Button(context);
submit.setText("Submit");
row.addView(submit);
row.addView(input,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
myView.addView(row,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
Run Code Online (Sandbox Code Playgroud)

这导致了正确的空间分布:提交按钮占用了所需的空间,输入按钮占用剩余空间,但是它们是错误的方式(提交按钮在左侧,尽管设置了重力).如果我取消重力并反转将元素添加到行的顺序,则输入框占据屏幕的整个宽度,并且提交按钮不可见.我究竟做错了什么?

java android

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

WPF应用程序只是托管代码吗?

我想在一个应用程序中使用WPF.我想用C++编写它.是否必须管理应用程序?我知道我可以将管理与非托管混合使用.我想知道我是否可以让整个应用程序不受管理.

c++ wpf unmanaged managed

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

如何将CSS应用于ASP:FileUpload Control

我如何设计这个控件?

我试过这个,但它不起作用.

<asp:FileUpload id="upload_tb" runat="server" />

#upload_tb
{
  width: 500px;
}
Run Code Online (Sandbox Code Playgroud)

另外,我如何设置此控件附带的浏览按钮的样式?如果不可能有其他替代方案吗?

编辑:

我检查了生成的源代码,asp.net给了控件这个id ctl00_main_content_upload_tb

我把CSS改成了

#ctl00_main_content_upload_tb
{
  width: 500px;
}
Run Code Online (Sandbox Code Playgroud)

但它没有拉伸控制.它在控件右侧添加填充.有任何想法吗?

asp.net

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

为什么MPMoviePlayerController在模拟器中工作,而不是设备?

我无法让MPMoviePlayerController在设备上工作.它在模拟器中运行良好,播放五秒钟视频,然后将适当的回调(myMovieFinishedCallback:)发送到视图控制器.当它在设备上运行时,电影永远不会出现,即使我可以毫无问题地追踪[player play].myMovieFinishedCallback:永远不会被调用,也没有错误.正在复制所有正确的资源.知道发生了什么事吗?

这是我用来创建和使用播放器的代码,

更新:我已切换到使用MPMoviePlayerViewController.在设备上电影仍然无法播放,我只是无限期地获得旋转进度轮.即使我将播放器设置为MPMovieControlStyleNone,控件也会短暂闪烁 - 有人知道如何解决这个问题吗?电影是五秒钟,大约1.5 MB,如果这有任何区别.

更新:其他电影文件工作,但我无法弄清楚如何使我的工作.我已经尝试过它作为.mov和.mp4,设置似乎是正确的.知道什么会导致MPMoviePlayer仅在设备上永久显示进度轮吗?

- (void) playMovie
{
    NSString *url = [[NSBundle mainBundle] 
                     pathForResource:@"myMovie" 
                     ofType:@"mp4"];

MPMoviePlayerViewController *playerViewController = 
[[MPMoviePlayerViewController alloc] 
 initWithContentURL:[NSURL fileURLWithPath:url]];

playerViewController.moviePlayer.controlStyle = MPMovieControlStyleNone;
playerViewController.moviePlayer.scalingMode = MPMovieScalingModeFill;

[[NSNotificationCenter defaultCenter] 
 addObserver:self
 selector:@selector(myMovieFinishedCallback:)
 name:MPMoviePlayerPlaybackDidFinishNotification
 object:[playerViewController moviePlayer]];

playerViewController.view.frame = movieView.frame;

[movieView addSubview:playerViewController.view];

//---play movie---
MPMoviePlayerController *player = [playerViewController moviePlayer];
[player play];
}   
Run Code Online (Sandbox Code Playgroud)

media iphone video objective-c mpmovieplayercontroller

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