Java 联系LoaderManager和AdapterView OnClick
我正在尝试将基本onClick事件附加到设备的联系人列表。联系人列表已正确生成。我的代码摘要如下:Java 联系LoaderManager和AdapterView OnClick,java,android,Java,Android,我正在尝试将基本onClick事件附加到设备的联系人列表。联系人列表已正确生成。我的代码摘要如下: public class Contacts extends AppCompatActivity implements LoaderManager.LoaderCallbacks<Cursor>, AdapterView.OnItemClickListener { ... public void onCreate(Bundle savedInstanceState) {
public class Contacts extends AppCompatActivity implements
LoaderManager.LoaderCallbacks<Cursor>,
AdapterView.OnItemClickListener
{
...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts_list_view);
//initialise loader
getSupportLoaderManager().initLoader(CONTACTS_LOADER_ID, null, this);
mContactsList = (ListView) findViewById(android.R.id.list);
//Gets a CursorAdapter
mCursorAdapter = new SimpleCursorAdapter(
this,
R.layout.contacts_list_item,
null,
FROM_COLUMNS, TO_IDS,
0);
//Sets the adapter for the ListView
mContactsList.setAdapter(mCursorAdapter);
}
}
//Followed by all the loader functions
public Loader<Cursor> onCreateLoader(int loaderId, Bundle args) {}
...
public void onItemClick (AdapterView<?> parent, View view, int position, long id){
Toast.makeText(this,
"hello world",
Toast.LENGTH_SHORT).show();
}
公共类联系人扩展了AppCompatActivity实现
LoaderManager.LoaderCallbacks,
AdapterView.OnItemClickListener
{
...
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts\u list\u视图);
//初始化加载程序
getSupportLoaderManager();
mContactsList=(ListView)findViewById(android.R.id.list);
//获取游标适配器
mCursorAdapter=新的SimpleCursorAdapter(
这
R.layout.contacts\u list\u项目,
无效的
从\u列到\u ID,
0);
//设置ListView的适配器
mContactsList.setAdapter(mCursorAdapter);
}
}
//然后是所有加载程序函数
公共加载器onCreateLoader(int-loaderId,Bundle-args){}
...
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(这个,
“你好,世界”,
吐司。长度(短)。show();
}
然而,我的McClick不起作用。我必须首先创建一个McClickListener的实例。我尝试在onCreate方法内部和外部执行此操作,但两者都不起作用
随后,我在onCreate方法中尝试了以下内容
mContactsList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(),
"hello world",
Toast.LENGTH_SHORT).show();
}
});
mContactsList.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(getApplicationContext(),
“你好,世界”,
吐司。长度(短)。show();
}
});
公共类联系人扩展AppCompatActivity实现LoaderManager.LoaderCallbacks,
创建时的公共void(Bundle savedInstanceState){
//设置屏幕内容
setContentView(右布局、主屏幕、活动布局);
//查找列表视图
ListView mContactsList=findViewById(您的ListView的R.id.id);
//设置单击侦听器
mContactsList.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(getApplicationContext(),
“你好,世界”,
吐司。长度(短)。show();
}
});
//创建适配器并通过mContactsList.setAdapter()将适配器设置为ListView;
}
公共类联系人扩展AppCompatActivity实现LoaderManager.LoaderCallbacks,
创建时的公共void(Bundle savedInstanceState){
//设置屏幕内容
setContentView(右布局、主屏幕、活动布局);
//查找列表视图
ListView mContactsList=findViewById(您的ListView的R.id.id);
//设置单击侦听器
mContactsList.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(getApplicationContext(),
“你好,世界”,
吐司。长度(短)。show();
}
});
//创建适配器并通过mContactsList.setAdapter()将适配器设置为ListView;
}
如何将clickListener设置为您的列表?您可能必须在onCreate期间执行以下操作:listView.setOnItemClickListener(此);您好,我收到的错误是类“Contacts”必须在OnItemClickListener中声明为抽象实现方法OnitemClick如果您将侦听器设置为“mContactsList.setOnItemClickListener(new AdapterView.OnItemClickListener()”,则应删除“implements AdapterView.OnItemClickListener”从您的类声明中,正如我所理解的,当它设置为“mContactsList.setOnItemClickListener(new AdapterView.OnItemClickListener()”,您如何将clickListener设置为您的列表?您可能必须在onCreate:listView.setOnItemClickListener(此);您好,我收到的错误是类“Contacts”必须在OnItemClickListener中声明为抽象实现方法OnitemClick如果您将侦听器设置为“mContactsList.setOnItemClickListener(new AdapterView.OnItemClickListener()”,则应删除“implements AdapterView.OnItemClickListener”从您的类声明中正如我所理解的,当它被设置为“mContactsList.setOnItemClickListener(new AdapterView.OnItemClickListener()”时,为什么需要从类声明中删除它,它起作用了,但没有起作用…当我点击列表时,它没有起作用..我将发布onCreate方法的附加代码它起作用了,但它没有起作用..当我点击列表时,它没有起作用..我将发布onCreate方法的附加代码
public class Contacts extends AppCompatActivity implements LoaderManager.LoaderCallbacks<Cursor>,
public void onCreate(Bundle savedInstanceState) {
// Set screen content
setContentView(R.layout.main_screen_activity_layout);
// Find the list view
ListView mContactsList = findViewById(R.id.ID_OF_YOUR_LISTVIEW);
// Set the click listener
mContactsList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(),
"hello world",
Toast.LENGTH_SHORT).show();
}
});
// Create your adapter and set the adapter to your ListView via mContactsList.setAdapter();
}