我有一个LayoutXML定义,由几个Buttons 组成.
目前我在OnCreate方法中这样做,以针对按钮定义事件处理程序:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button newPicButton = (Button)findViewById(R.id.new_button);
newPicButton.setOnClickListener(btnListener);
..... similarly for other buttons too
.....
}
Run Code Online (Sandbox Code Playgroud)
里面的Button的onClick情况下,我启动相机Intent获取的图片,里面onActivityResult的回调,我再次设置沿设定的事件处理程序View是这样的:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
setContentView(R.layout.main);
Button newPicButton = (Button)findViewById(R.id.new_button);
newPicButton.setOnClickListener(btnListener);
...similarly for other buttons too
}
Run Code Online (Sandbox Code Playgroud)
我是android新手,这种每次重新定义事件的方法对我来说都很脏.我想知道在这样的场景中定义按钮事件处理程序方面的最佳实践是什么.
编辑:粘贴我的完整课程
public class CameraAppActivity extends Activity
{
/** Called when the activity is first created. */
@Override
public …Run Code Online (Sandbox Code Playgroud) 我想获得在我的库项目的一个类中运行时引用/托管我的库的应用程序的上下文.可能吗?如果有,怎么样?
谢谢
更新 我不希望我的用户将参数中的上下文传递给我的库项目,因为我的库项目可能会通过JNI调用,我不知道如何在JNI中获取上下文并将其传递给Java层.
有没有其他方法可以检查Windows应用商店应用中是否存在文件?
try
{
var file = await ApplicationData.Current.LocalFolder.GetFileAsync("Test.xml");
//no exception means file exists
}
catch (FileNotFoundException ex)
{
//find out through exception
}
Run Code Online (Sandbox Code Playgroud) c# filenotfoundexception microsoft-metro windows-8 windows-runtime
目前我有两个控制器
1 - 家长控制器
2 - 儿童控制器
我像这样访问我的父控制器
someurl\parentcontroller
Run Code Online (Sandbox Code Playgroud)
现在我想像这样访问我的孩子控制器
someurl\parentcontroller\1\childcontroller
Run Code Online (Sandbox Code Playgroud)
最后一个网址应该返回特定父级的所有子级.
我目前在global.asax文件中有这条路线
routes.MapHttpRoute ("Route1", "{controller}/{id}", new { id = RouteParameter.Optional });
我不确定如何实现我的parent\id\child层次结构..我应该如何配置我的路由来实现这一目标?想法?
我在XAML中有这个
<ControlTemplate TargetType="{x:Type Button}">
<Image ...>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)
我希望在C#代码中实现相同的功能.我怎样才能做到这一点?
ControlTemplate ct = new ControlTemplate();..
Image img = new Image();..
Run Code Online (Sandbox Code Playgroud)
现在如何将此图像分配给控制模板?我们能做到这一点还是我错过了这里的概念?
在C++/CLI环境中,C#is和as运算符不可用.在C++/CLI 中is,我应该用什么代替as?
找不到重复,请告诉我是否存在重复.
在我的Java代码中,我有一个2D浮点数组float[x][4] floatArray.这x可以在1到25之间.我必须将此2D浮点数组传递给C++方法via JNI.我的JNI方法是
jboolean MyJNIMethod(JNIEnv * env, jobject obj, jobjectArray myArray)
{
//how to convert this myArray to something that can be safely passed to C++ method below
}
Run Code Online (Sandbox Code Playgroud)
在内部MyJNIMethod我必须调用一个C++方法并将从Java获取的2D float数组传递给此方法
bool MyCplusPlusMethod(float coordinates[][4])
{
}
Run Code Online (Sandbox Code Playgroud)
由于缺乏原生开发知识,我很难将jobject正确地转换为float [] [].有人能告诉我最简单,最安全的方法吗?谢谢
我正在使用此代码从文件中提取块
// info is FileInfo object pointing to file
var percentSplit = info.Length * 50 / 100; // extract 50% of file
var bytes = new byte[percentSplit];
var fileStream = File.OpenRead(fileName);
fileStream.Read(bytes, 0, bytes.Length);
fileStream.Dispose();
File.WriteAllBytes(splitName, bytes);
Run Code Online (Sandbox Code Playgroud)
有没有办法加快这个过程?
目前,对于530 MB的文件,它需要大约4 - 5秒.这次可以改善吗?
我跟随XAML
<StackPanel MouseEnter="StackPanel_MouseEnter" Height="130" Background="Blue">
<Grid MouseEnter="Grid_MouseEnter" Height="60" Background="Red" >
<Button MouseEnter="Button_MouseEnter" Height="20"/>
</Grid>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
在代码背后,我正在这样做
private void StackPanel_MouseEnter(object sender, MouseEventArgs e)
{
}
private void Grid_MouseEnter(object sender, MouseEventArgs e)
{
e.Handled = true;
}
private void Button_MouseEnter(object sender, MouseEventArgs e)
{
e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)
现在,即使我将鼠标移动Button并设置e.Handled = true,Grid也StackPanel分别调用和调用事件.为什么?我应该怎么做才能阻止路由事件冒泡?
c# ×6
android ×2
c++ ×2
java ×2
wpf ×2
button ×1
c#-4.0 ×1
c++-cli ×1
file-copying ×1
filestream ×1
memory ×1
restful-url ×1
windows-8 ×1
xaml ×1