有没有人使用RecyclerView
找到一种方法来设置一个onClickListener
项目RecyclerView
?我想为每个项目的每个布局设置一个监听器,但这似乎有点太麻烦我确信有一种方法RecyclerView
可以听取这个onClick
事件,但我无法弄明白.
码:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$("#clicker").click(function () {
alert("Hello!");
$(".hide_div").hide();
});
</script>
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用.当我点击#clicker时,它不会发出警报,也不会隐藏.我检查了控制台,没有错误.我还检查了JQuery是否正在加载,确实是.所以不确定问题是什么.我还做了一个带有警报的文件就绪功能,这样做不能确定我做错了什么.请帮忙.谢谢!
我在非Java和非Android领域拥有丰富的经验,我正在学习Android.
我对不同领域有很多困惑,其中之一就是如何处理按钮点击.至少有4种方法(!!!),这里简要列出
为了保持一致性,我将列出它们:
View.OnClickListener
在活动中拥有该类的成员,并将其分配给将onClick
在onCreate
activity方法中处理逻辑的实例.
在'onCreate'活动方法中创建'onClickListener'并使用setOnClickListener将其分配给按钮
在活动本身中实现'onClickListener'并将'this'指定为按钮的监听器.对于活动按钮很少的情况,应该分析按钮ID以执行适当按钮的'onClick'处理程序
对实现'onClick'逻辑的活动有公共方法,并将其分配给activity xml声明中的按钮
问题#1:
这些都是方法,还有其他选择吗?(我不需要任何其他的,只是好奇)
对我来说,最直观的方式是最新的方式:它需要输入最少量的代码并且是最可读的(至少对我而言).
虽然,我没有看到这种方法被广泛使用.使用它有什么用处?
问题2:
每种方法的优缺点是什么?请分享您的经验或良好的链接.
欢迎任何反馈!
PS我试过谷歌并找到了一些关于这个话题的东西,但我发现的唯一的东西就是描述"如何"做到这一点,而不是为什么它好或坏.
我目前正在Android上制作一个简单的计算器应用程序.我试图设置代码,以便当按下数字按钮时,它会用该数字更新计算器屏幕.目前我这样做.
Button one = (Button) findViewById(R.id.oneButton);
one.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView output = (TextView) findViewById(R.id.output);
output.append("1");
}
});
Run Code Online (Sandbox Code Playgroud)
它可以工作,但我正在为计算器上的每个按钮编写相同的代码.你可以想象它是多余的.无论如何我能以更有效的方式编写这段代码吗?一个涉及不为每个按钮编写此方法的人?
我尝试在片段之间进行导航.我有NewFragment.java
新的片段工作了.我的问题是:
如何正确onClickListener
运行NewFragment.java
?
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getActivity(), NewFragment.class);
startActivity(i);
}
});
Run Code Online (Sandbox Code Playgroud)
仅供参考:这是来自一个片段(我不知道这是否重要).
如何将参数传递给OnClickListener()?
听了我的听众:
OnClickListener myListener = new OnClickListener()
{
@Override
public void onClick(View v)
{
//I want to reach params here
}
};
Run Code Online (Sandbox Code Playgroud)
我有12个按钮,我不想为他们写12个听众,将字符串传递给他们会很棒,他们可以做完全不同的事情.
我有一个EditText
显示时间.用户点击后EditText
我想显示一个TimePickerDialog
,所以我设置了一个View.OnClickListener
到我的EditText
.
但是OnClickListener
表现得很奇怪 - 我触摸EditText
然后软键盘出现(我不想要).当我再次触摸时,OnClickListener.onClick()
最后调用并出现对话框.
如果我希望对话框立即显示,我该怎么办?
我正在构建一个Android应用程序.我注意到我在每个类中创建了许多与此类似的重复代码:
Button buttonX = (Button)findViewById(R.id.buttonXName);
// Register the onClick listener with the implementation above
buttonX.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
//DO SOMETHING! {RUN SOME FUNCTION ... DO CHECKS... ETC}
}
});
Run Code Online (Sandbox Code Playgroud)
我现在有十五个按钮,这使我的代码变得丑陋.有没有人有一个关于如何将所有这些代码变成更有效的代码的类或一些例子,所以我可以:
{Button buttonX (Button)findViewById(R.id.buttonXName);}
{buttonX.setOnClickListener(new OnClickListener()}
{public void onClick(View v)}
如果有人知道任何事情,我会很感激.
我正在使用两个按钮.同时单击两个按钮时,它将一次进入不同的活动.怎么避免这个?
我试过这样的,但它不起作用请保存....
public class MenuPricipalScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_principal_layout);
findViewById(R.id.imageView2).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
disable(findViewById(R.id.imageView3));
Intent intent = new Intent(MenuPricipalScreen.this,
SelectYourLanguageVideo.class);
startActivity(intent);
}
});
findViewById(R.id.imageView3).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
disable(findViewById(R.id.imageView2));
Intent intent = new Intent(MenuPricipalScreen.this,
CategoryScreen.class);
intent.putExtra("request", "false");
startActivity(intent);
}
});
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
((ImageView) findViewById(R.id.imageView3)).setEnabled(true); …
Run Code Online (Sandbox Code Playgroud) 如何在Android中制作自定义形状的可点击视图或按钮?
当我点击时,我想避免触摸空白区域.
请帮忙.谢谢.
android android-widget android-custom-view android-layout onclicklistener