【问题标题】:AutoCompleteTextView click event on AndroidAndroid上的AutoCompleteTextView点击事件
【发布时间】:2011-03-26 23:39:56
【问题描述】:

我已经成功实现了我的 AutoCompleteTextView,它基于 SQLite 查询并放置在数组适配器中。这一切都很好,但是我无法让我的 onclickevent 正常工作。

我只想创建一个意图,将所选值传递给新活动。我知道如何创建一个 onclicklistener。我只是不确定如何将它应用到 AutoCompleteTextView 的下拉框。

【问题讨论】:

    标签: android sqlite autocomplete onclick


    【解决方案1】:

    没关系。我已经解决了。我只是表现不佳。下面的代码根据一个简单的 SELECT SQLite 语句自动完成我的文本视图,并在用户从下拉列表中选择大学时执行。

    onclick 事件创建一个新的 Intent 并启动一个新的 Activity,将选择传递给 Intent 中的该 Activity。

    final AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.ac_university);
    String[] universities = myDbHelper.getAllUnis(db);
    
    // Print out the values to the log
    for(int i = 0; i < universities.length; i++)
    {
        Log.i(this.toString(), universities[i]);
    }
    
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, universities);
    textView.setAdapter(adapter);
    
    //textView.setOnItemSelectedListener(this);
    textView.setOnItemClickListener(new OnItemClickListener() {
    
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                long arg3) {
    
            Intent intent = new Intent(Main.this, Campus.class);
            Bundle bundle = new Bundle();
    
            bundle.putString("university_name", arg0.getItemAtPosition(arg2).toString());
            bundle.putLong("_id", arg3);
            intent.putExtras(bundle);
            startActivity(intent);
        }
    

    【讨论】:

      【解决方案2】:

      putExtra 函数可用于此目的。

      这是一个例子……

      形成发送活动:

          lv.setOnItemClickListener(new OnItemClickListener()
          {
              public void onItemClick(AdapterView<?> parent, View v, int pos, long id) {
                  ApplicationInfo x = appinstalled.get(pos);
                  PackageInfo y = appinstall.get(pos);
                  //Intent i = new Intent(InstalledPackages.this, Information.class);
                  i = new Intent(InstalledPackages.this, Information.class);
                  i.putExtra("i",x);
                  i.putExtra("j", y);
                  startActivity(i);
              }
          });
      }
      

      在接收方:

          super.onCreate(savedInstanceState);
          Intent myIntent = getIntent();
          ApplicationInfo i = (ApplicationInfo)myIntent.getParcelableExtra("i");
          PackageInfo j = (PackageInfo)myIntent.getParcelableExtra("j");
      

      【讨论】:

      • 我创建了一个 clickevent,适用于我的应用程序中的 listview 活动,并且我已经针对 AutoCompleteTextView 对其进行了调整,但是当我从下拉列表中单击我想要的项目时,事件不是触发所以我显然没有正确引用下拉列表所以我真的只是要求一个通用的代码来说明如何通过单击下拉列表来触发偶数!干杯
      猜你喜欢
      • 1970-01-01
      • 2011-07-17
      • 1970-01-01
      • 2020-07-05
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      相关资源
      最近更新 更多