Articles of onclick

在布局xml中使用onClick属性会在Android对话框中导致NoSuchMethodException

我创建了一个自定义对话框和一个布局xml: 在对话框类中,我实现了“dialogClicked(View v)”方法: public class TestDialog extends Dialog { public TestDialog(final Context context) { super(context); } @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog); } public void dialogClicked(final View view) { System.out.println(“clicked”); } } 当我点击按钮时,我得到一个NoSuchMethodException’dialogClicked’。 在布局xml中设置onClick处理程序适用于活动,但不适用于对话框。 有任何想法吗? 我做错了什么?

Android:OnClick导航抽屉标题无效

我的应用程序中有一个导航抽屉,其中包含标题和一些列表项。 标题有一个textview,我想让它可点击,但我无法做到。 为了获得这个textview的id,我使用了下面的代码,因为它与onCreate中的setContentView相比,它位于不同的布局文件中。 final LayoutInflater factory = getLayoutInflater(); final View textEntryView = factory.inflate(R.layout.header, null); TextView home = (TextView) textEntryView.findViewById(R.id.home); home.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(curr_context, “SHOW”, Toast.LENGTH_LONG).show(); } }); header.xml包含导航抽屉的标题。 它有一个名为home的项目。 我需要让它可点击。 上面的代码在onCreate方法中。

Android – 在ListView中延迟点击次数

我的应用程序中有以下结构: FragmentActivity与ViewPager持有FragmentStatePagerAdapter管理的多个片段,使用与Android 2.1的compativility pack 每个片段都包含ListView 。 ListView中的每个元素都有一个带有两个TextViews和一个Button的LinearLayout 。 LinearLayout和按钮具有onClickListeners (单独)。 单击LinearLayout启动另一个Activity 。 我注意到点击行为是非常不一致的:有时候动作会立即执行,但很多时候它会被延迟,有时它会被忽略,无论我点击多少次。 它甚至更奇怪,因为我可以点击,只有当我开始滚动列表时才会执行操作。 我尝试了setFocusable(false)和setSelectable(true)各种组合,但似乎没有任何区别。 有任何想法吗? 我很乐意提供更多细节。

找不到方法onClick_Foo(View) – 第一次在Android Lollipop上运行

我有一个大约一岁的应用程序,在测试版的Play商店,已经经历了几十次修订。 突然间我收到了一个错误: 无法在活动类android.view.ContextThemeWrapper中findonClick_Foo(View)方法,用于视图类android.widget.Button上的onClick处理程序,其id为’Foo_Button’ 我在XML中定义的7个按钮中的每个按钮上都收到此错误。 从昨天开始,我将appcompat-v7从21.0.3更新到22.0.0,但也是第一次将我的测试设备从KitKat升级到Lollipop。 我已经仔细检查了拼写,大写,没有通常的嫌疑人解释这一点。 这是相关代码的示例。 如果您觉得更有帮助,请告诉我。 (该活动有915行代码和xml 186,所以不要求整个事情)。 在运行Lollipop 5.0.1的Verizon Note 4上进行测试 activity_pick.xml: Pick.java: public class Pick_Restaurant extends ActionBarActivity { public void onClick_Ratings (View v) { Intent intent = new Intent(mContext, Ratings.class); startActivityForResult(intent,RATINGS); } } 的build.gradle: apply plugin: ‘com.android.application’ android { compileSdkVersion 22 buildToolsVersion “22.0.1” defaultConfig { minSdkVersion 15 targetSdkVersion 22 versionCode 59 […]

使用ArrayAdapter for ListView的OnItemClickListener

我想为我使用ArrayAdapter创建的ListView创建一个OnItemClickListener 这是我用来创建它的代码: List values = datasource.some_search(“Wednesday”,”11″); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, values); setListAdapter(adapter); 我如何实现onItemClickListener? 谢谢! 编辑:我在我的ArrayAdapter和ListView中使用一串对象。 编辑2:更多代码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); datasource = new CommentsDataSource(this); datasource.open(); //check if database is populated if NOT, populate with txtToDb(); if (!datasource.isPopulated()) { // Database is not populated so copy it from assets here try […]

RecyclerView:获取位置并切换到活动

如何获取在RecyclerView行中单击的项目的位置,而不是在onClick方法中创建活动的意图? 这是我的适配器: public class SergejAdapter extends RecyclerView.Adapter{ private LayoutInflater inflater; List data= Collections.emptyList(); public SergejAdapter(Context context, List data){ inflater = LayoutInflater.from(context); this.data=data; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.navigation_drawer_custom_row,parent,false); MyViewHolder holder= new MyViewHolder(view); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { Information current=data.get(position); holder.title.setText(current.title); } @Override […]

视图无法解析为types

看来这里有什么问题? 我该如何解决? 错误“视图无法解析为types” public void onItemClick(AdapterView arg0, View arg1, int position, long arg3) { Object o = my_listview.getItemAtPosition(position); // write you handling code like… String st = “sdcard/”; File f = new File(st+o.toString()); // do whatever u want to do with ‘f’ File object Log.d(“The position fo f:”,o.toString()); } 有任何想法吗?

无法在活动中findonClick(View)方法

膨胀布局中的按钮单击在运行时失败,因为找不到该方法。 E / AndroidRuntime(921):java.lang.IllegalStateException:在活动中找不到onClick(View)方法但是,如果从主布局点击按钮,则工作正常。 我做错了什么? 更新:更改代码… stil失败…添加错误日志我想让我的所有按钮都在ome方法中处理。 主要活动课 package com.android.insertview; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Toast; public class InsertViewActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /*LayoutInflater inflater = (LayoutInflater) […]

为什么ViewHolder上的OnClickListener不起作用?

我正在尝试实现一种在RecyclerView上处理项目选择的方法。 我个人不喜欢在通过手势的一些答案中建议的方式,我认为实现一个OnClickListener ,正如这里和这里所建议的,是更清洁。 事实是……这种模式实际上并不起作用! 我真的无法理解为什么我的OnClickListener.onClick 永远不会被调用。 它有点像另一种方法拦截点击之前onClick可以处理它。 这是我的代码: public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { TextView tvName; ImageView star; public ViewHolder(View itemView) { super(itemView); tvName = (TextView) itemView.findViewById(R.id.CHAT_ITEM_name); star = (ImageView) itemView.findViewById(R.id.CHAT_ITEM_star); Fonts.setTypeface(tvName, regular); } @Override public void onClick(View view) { int position = getLayoutPosition(); select(position); } } 不幸的是,能够访问整个数据集中被点击项目的位置非常重要,以便将其删除,所以做一些像indexOfChild这样的事情也是不可接受的:我试过,但是这个方法给你的位置列表的visibile部分中的项目,从而使list.remove(position)不可能。

ButterKnife onclick无效

我使用butterknife库完美地注入了视图。 但是当我尝试实现监听器时,例如onclick我无法实现它们。 以下java代码将帮助您了解我的问题。 Java代码: public class LoginActivity extends ActionBarActivity{ @InjectView(R.id.toolbar) Toolbar toolbar; @InjectView(R.id.btn_login) Button login; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login); ButterKnife.inject(this); initialize(); //initListeners(); @OnClick(R.id.btn_login) public void submit(View view) { // TODO submit data to server… } } /*private void initListeners() { @OnClick(R.id.btn_login) public void login(){ } }*/ private void initialize() { setSupportActionBar(toolbar); […]