Android SwipeInterceptorView使用DroidQuery作为文本视图
我正在使用该库向我的应用程序添加一些手势检测。我在xml文件中添加SwipeInterceptorView时遇到问题(请参见原始问题,因此我在Android SwipeInterceptorView使用DroidQuery作为文本视图,android,android-gesture,droidquery,Android,Android Gesture,Droidquery,我正在使用该库向我的应用程序添加一些手势检测。我在xml文件中添加SwipeInterceptorView时遇到问题(请参见原始问题,因此我在onCreate方法中定义了SwipeInterceptorView,并为其提供了相同的参数。然后我使用layout.addView(SwipeInterceptorView)将其添加到布局文件中。我试图将其添加到xml布局文件中,但出现错误 以编程方式定义SwipeInterceptorView是一种良好做法,还是应该将其添加到XML文件中?如果应该,如
onCreate
方法中定义了SwipeInterceptorView,并为其提供了相同的参数。然后我使用layout.addView(SwipeInterceptorView)
将其添加到布局文件中。我试图将其添加到xml
布局文件中,但出现错误
以编程方式定义SwipeInterceptorView
是一种良好做法,还是应该将其添加到XML
文件中?如果应该,如何修复此XML
文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/table"
android:orientation="vertical" >
<self.philbrown.SwipeInterceptorView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_view"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</self.philbrown.SwipeInterceptorView>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
当我使用这个布局时,我得到运行时错误java.lang.ClassNotFoundException
另外,我知道如何将onClickListener
添加到ImageView
中,但是有人能告诉我如何将侦听器也添加到TextView
中吗
谢谢你的帮助
以编程方式定义SwipeInterceptorView是否是一种良好做法,或者
我应该将其添加到XML文件中吗
最好的做法是在XML
中定义视图
,因为这提供了一个可重用的文件(因此您可以在应用程序的其他地方或在其他应用程序中使用它)
这就是说,以编程方式实例化它并不是一种坏的做法——它只是减少了可重用性因素
如何修复此XML文件
我目前还不确定这为什么不起作用。我会尽快更详细地研究它。与此同时,一件确定的事情是下载整个项目,将其导入到您的工作区,并将其作为库项目而不是jar添加
另外,我知道如何将onClickListener添加到ImageView中,但是可以
有人告诉我应该如何将侦听器添加到TextView吗
您可以使用完全相同的方式添加单击侦听器:
mTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//your code
}
});
如果要充分利用droidQuery
库,可以选择使用以下方法之一:
单击
$.with(mTextView).click(new Function() {
@Override
public void invoke($ droidQuery, Object... params) {
//your code
}
});
打开
$.with(mTextView).on("click", new Function() {
@Override
public void invoke($ droidQuery, Object... params) {
//your code
}
});
one(仅单击一次手柄)
绑定
Object data = new Object();//could be anything
$.with(mTextView).on("click", data, new Function() {
@Override
public void invoke($ droidQuery, Object... params) {//data will be passed as a param
//your code
}
});
以编程方式定义SwipeInterceptorView是否是一种良好做法,或者
我应该将其添加到XML文件中吗
最好的做法是在XML
中定义视图
,因为这提供了一个可重用的文件(因此您可以在应用程序的其他地方或在其他应用程序中使用它)
这就是说,以编程方式实例化它并不是一种坏的做法——它只是减少了可重用性因素
如何修复此XML文件
我目前还不确定这为什么不起作用。我会尽快更详细地研究它。与此同时,一件确定的事情是下载整个项目,将其导入到您的工作区,并将其作为库项目而不是jar添加
另外,我知道如何将onClickListener添加到ImageView中,但是可以
有人告诉我应该如何将侦听器添加到TextView吗
您可以使用完全相同的方式添加单击侦听器:
mTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//your code
}
});
如果要充分利用droidQuery
库,可以选择使用以下方法之一:
单击
$.with(mTextView).click(new Function() {
@Override
public void invoke($ droidQuery, Object... params) {
//your code
}
});
打开
$.with(mTextView).on("click", new Function() {
@Override
public void invoke($ droidQuery, Object... params) {
//your code
}
});
one(仅单击一次手柄)
绑定
Object data = new Object();//could be anything
$.with(mTextView).on("click", data, new Function() {
@Override
public void invoke($ droidQuery, Object... params) {//data will be passed as a param
//your code
}
});
谢谢。另外,我怎么能让文本视图检测到刷卡?我尝试了与您在上一个答案中显示的图像视图相同的操作,但没有work@user2583347您可以将
文本视图
放入视图组
——例如相对视图
或框架布局
。这可能是相同的大小正如您的TextView
现在一样,设置您的TextView
以填充父边界。最后,将刷卡处理代码添加到此父视图ViewGroup
。谢谢。您知道如何使用droidQuery库降低刷卡敏感度,从而延长刷卡时间吗?@superuser您需要更改t的实现他通过声明将类变量设置为当前时间(System.getCurrentTimeMilis()
)来滑动函数对于START
事件,然后对于每个刷卡事件,检查事件开始后的时间。如果间隔足够长,您可以对此作出反应。@超级用户,同样,我认为这最好作为一个新问题(我可以在那里发布一些代码)。我很快就会找到它。谢谢。另外,我如何让文本视图检测到刷卡?我尝试了与您在上一个答案中显示的图像视图相同的操作,但没有work@user2583347您可以将文本视图
放入视图组
——例如相对视图
或框架布局
is可以与您的文本视图
现在的大小相同,并设置您的文本视图
以填充父边界。最后,将刷卡处理代码添加到此父视图视图组
。谢谢。您知道如何使用droidQuery库降低刷卡敏感度,以便您必须刷卡更长时间吗?@superuser您需要更改通过声明将一个类变量设置为当前时间(System.getCurrentTimeMilis()
),可以实现swipe
函数对于START
事件,然后对于每个刷卡事件,检查事件开始后的时间。如果间隔足够长,您可以对此作出反应。@超级用户,同样,我认为这最好作为一个新问题(我可以在那里发布一些代码)。我将很快查找它。