【问题标题】:how to handle clicks in a List View (with icons)?如何处理列表视图中的点击(带有图标)?
【发布时间】:2012-02-02 16:16:34
【问题描述】:

我需要在一个 Activity 中实现一个带有图标的列表视图,但在这个 Activity 中还有其他小部件——比如按钮。这个 Activity 有一个布局文件。

起初我看到了这个教程(http://www.mkyong.com/android/android-listview-example/),但意识到这不是我需要的......因为......它扩展了 Activity...... 到 ListActivity。但我不能简单地将我的 Activity 更改为 ListActivity,因为其中有按钮和其他东西......

所以我不明白如何以这种方式实现它......

所以改为使用本教程实现它...

http://www.ezzylearning.com/tutorial.aspx?tid=1763429&q=customizing-android-listview-items-with-custom-arrayadapter

效果很好,直到我意识到我不知道如何获得点击...

我将此代码放入我的活动中...

        listView1.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {

            //get selected items
            String selectedValue = Integer.toString(position);
            Toast.makeText(parent.getContext(), selectedValue, Toast.LENGTH_SHORT).show();
        }

...并且至少它显示了在 Toast 中选择的项目的 #...

但我现在不知道如何与我的 Activity 或与我的 Activity 相关的任何对象共享此选择...

这是一个死胡同吗? “天气教程”列表视图是只读的吗?而不是为了用户交互?

任何建议表示赞赏。如果可能的话,我最想简单地使用天气教程示例,因为我已经以这种方式实现了它......

但如果有人能解释第一个教程的方法和我将如何使用我的列表视图类之间的理论,而不是在我的主 Activity(包含按钮和其他东西)中扩展 ListActivity,那就太好了......

【问题讨论】:

    标签: android android-widget


    【解决方案1】:

    列表视图中的大多数项目单击侦听器用于导航到另一个活动或显示有关单击项目的信息。

    通过位置,您可以从数组或数组列表中获取单击的项目。对应那个item就可以进行操作了。

    【讨论】:

      【解决方案2】:

      使用单例架构

      在您的活动中声明一个静态方法,例如:“demoActivity”

      public demoActivity extends Activity
      {
      private static demoActivity sInstance;
      
         @Override
          public void onCreate(Bundle savedInstance){
            sInstance=this;
           }
      
          public static demoActivity getInstance()
          {
               return sInstance;
          }
      }
      

      通过使用这个实例,你可以玩这个活动。

      【讨论】:

        【解决方案3】:

        试试这个:

        Toast.makeText(parent.getContext(), "" + position, Toast.LENGTH_SHORT).show();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多