【问题标题】:android common OnItemClickListener and separate button listenersandroid 常见的 OnItemClickListener 和单独的按钮监听器
【发布时间】:2012-08-08 05:39:25
【问题描述】:

在我的应用中,我有大约 12 个活动。我的活动的第一个布局是列表视图。通过单击每个列表,它会被重定向到其他活动。我已经使用 OnItemClickListener 实现了 Listview,并且运行良好。

在所有其他 11 个活动中,我有一个带有徽标的通用标题栏和一个名为 S 的按钮。当用户单击 S 按钮时,我在我的应用程序的第一个活动中显示相同的项目列表,在当前活动中通过拆分页面。现在不是为每个活动写一个单独的OnItemClickListener,而是如何写一次并在多个活动中使用?

和我放置3 button in include layout的方法一样,我在各种activity中都使用这个,如何写一个单独的常用按钮动作,可以在多个activity中使用。

【问题讨论】:

    标签: android include onclick onitemclicklistener


    【解决方案1】:

    虽然@SamirMangroliya 的方法有效,但这是您可以使用的另一种方法,也是我已经使用了一段时间的方法。

    在另一个类文件中创建您的监听器(例如,MyClickListener.java):

    public class MyClickListener implements OnItemClickListener {
        // This can be OnClickListener, OnTouchListener, whatever you like.
        // Implement your method here:
        public onItemClick(...) {
            // Your selection process, etc.
        }
    }
    

    那么在你的每个Activity 对象中,你所要做的就是:

    myObject.setOnItemClickListener(new MyClickListener());
    

    【讨论】:

    • 感谢您的回复。我有一个疑问,在 List click listener 的课堂上我已经添加了这个......
    • Intent myIntent = new Intent(ActivityTab.this, MyProfile.class); myIntent.putExtras(bundle);开始活动(我的意图);完成();
    • Eric - 我在 ActivityTab.this、startActivity 和 finish() 中遇到错误,如何克服这个错误
    • 将您的Activity 传递给此侦听器的构造函数,保存它,然后通过它访问这些方法。
    【解决方案2】:

    如何写一个单独的常用按钮动作,可以在多个activity中使用。

    您应该创建一个 Activity(称为 BaseActivity),

    class BaseActivity extends Activity{
    
    @Override
    public void setContentView(int layoutResID) {
         super.setContentView(layoutResID);
    
      Button btn1 = (Button)findViewById(r.id.btn1);
      .
      .
      .  
    
      //now setonclickListner here...
    }
    
    }
    

    然后扩展它...class MyActivity extends BaseActivity

    【讨论】:

    • 是否有任何示例代码或教程,当我尝试这个时,我的应用程序在一行中出现空指针异常时崩溃..,
    【解决方案3】:

    听起来您应该实现ActionBar 导航。有关如何以 Android 方式执行此操作的更详细说明,请参阅Design 指南。要支持 1.6 和 2.3 之间的 Android 版本,请在 ActionBarSherlock 库中链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 2012-02-04
      • 2013-07-01
      • 1970-01-01
      相关资源
      最近更新 更多