2010-08-08 126 views
8

我已经成功实现了基于SQLite查询的我的AutoCompleteTextView,并将其放置在数组适配器中。这一切都工作得很好,但我无法让我的周期性工作。Android上的AutoCompleteTextView点击事件

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

回答

14

没关系。我解决了它。我只是执行不力。下面的代码根据简单的SELECT SQLite语句自动完成我的textview,并在用户从下拉列表中选择大学时执行。

onclick事件创建一个新的意图,并启动一个新的活动,将意向中的选择传递给此活动。

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); 
    } 
0

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"); 
+0

我创建了一个clickevent,对于我的列表视图活动在我的应用程序和工作我已经将它改编为AutoCompleteTextView,但是当我点击的项目我从下拉列表中选择事件不触发所以要我显然没有正确地引用下拉列表,所以我实际上只是要求提供一些代码说明如何从点击下拉列表中点击即可触发!干杯 – Ally 2010-08-08 16:36:08