Java 在Android项目中使用ListActivity实现McClickedListener?
当我无法按id获取列表时,可以实现onItemClickedListener(),因为我的ListView获得了android:id=“@android:id/list” 我想检查是否单击了ListItem并突出显示它。现在我无法突出显示项目Java 在Android项目中使用ListActivity实现McClickedListener?,java,android,android-listview,Java,Android,Android Listview,当我无法按id获取列表时,可以实现onItemClickedListener(),因为我的ListView获得了android:id=“@android:id/list” 我想检查是否单击了ListItem并突出显示它。现在我无法突出显示项目 import android.app.ListActivity; import android.os.Bundle; import java.util.List; import java.util.Random; import android.view.V
import android.app.ListActivity;
import android.os.Bundle;
import java.util.List;
import java.util.Random;
import android.view.View;
import android.widget.ArrayAdapter;
public class FirstGridPage extends ListActivity {
private StolikiDataSource datasource;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_list_stoliki);
datasource = new StolikiDataSource(this);
datasource.open();
List<Stoliki> values = datasource.getAllStoliki();
// Use the SimpleCursorAdapter to show the
// elements in a ListView
ArrayAdapter<Stoliki> adapter = new ArrayAdapter<Stoliki>(this,
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
// Will be called via the onClick attribute
// of the buttons in main.xml
public void onClick(View view) {
@SuppressWarnings("unchecked")
ArrayAdapter<Stoliki> adapter = (ArrayAdapter<Stoliki>) getListAdapter();
Stoliki stolik = null;
switch (view.getId()) {
case R.id.add:
String[] stoliki_numer = new String[] { "1", "2", "3" };
String[] stoliki_opis = new String[] { "Czerwony", "Niebieski", "Zielony" };
int nextInt = new Random().nextInt(3);
// Save the new comment to the database
stolik = datasource.createStolik(stoliki_numer[nextInt], stoliki_opis[nextInt]);
adapter.add(stolik);
break;
case R.id.delete:
if (getListAdapter().getCount() > 0) {
stolik = (Stoliki) getListAdapter().getItem(0);
datasource.deleteStolik(stolik);
adapter.remove(stolik);
}
break;
}
adapter.notifyDataSetChanged();
}
@Override
protected void onResume() {
datasource.open();
super.onResume();
}
@Override
protected void onPause() {
datasource.close();
super.onPause();
}
}
导入android.app.ListActivity;
导入android.os.Bundle;
导入java.util.List;
导入java.util.Random;
导入android.view.view;
导入android.widget.ArrayAdapter;
公共类FirstGridPage扩展ListActivity{
私有StolikiDataSource数据源;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u view\u list\u stoliki);
datasource=新的StolikiDataSource(此);
datasource.open();
列表值=datasource.getAllStoliki();
//使用SimpleCursorAdapter显示
//ListView中的元素
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,值);
setListAdapter(适配器);
}
//将通过onClick属性调用
//main.xml中按钮的
公共void onClick(视图){
@抑制警告(“未选中”)
ArrayAdapter=(ArrayAdapter)getListAdapter();
Stoliki-stolik=null;
开关(view.getId()){
案例R.id.add:
字符串[]stoliki_numer=新字符串[]{“1”、“2”、“3”};
String[]stoliki_opis=新字符串[]{“Czerwony”、“Niebieski”、“Zielony”};
int nextInt=new Random().nextInt(3);
//将新注释保存到数据库中
stolik=datasource.createStolik(stoliki_numer[nextInt],stoliki_opis[nextInt]);
adapter.add(stolik);
打破
案例R.id.delete:
如果(getListAdapter().getCount()>0){
stolik=(Stoliki)getListAdapter().getItem(0);
datasource.deleteStolik(stolik);
适配器。移除(stolik);
}
打破
}
adapter.notifyDataSetChanged();
}
@凌驾
受保护的void onResume(){
datasource.open();
super.onResume();
}
@凌驾
受保护的void onPause(){
datasource.close();
super.onPause();
}
}
ListActivity
有一个方法,您只需重写它。ListActivity
有一个方法,您只需重写它。私有类测试活动扩展ListActivity实现了ListListener
private class TestActivity extends ListActivity implements OnItemClickListener
{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
yourListView.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
}
}
{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setOnItemClickListener(这个);
}
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
//TODO自动生成的方法存根
}
}
私有类TestActivity扩展了ListActivity实现的ListListener
{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setOnItemClickListener(这个);
}
@凌驾
公共链接(AdapterView arg0、视图arg1、内部arg2、,
长arg3){
//TODO自动生成的方法存根
}
}
我首先阅读了Egor answer,用谷歌搜索实现并编写了与您相同的代码。都谢谢。一切正常。非常感谢。现在我必须检查点击了哪个项目的索引。我首先阅读了Egor的答案,谷歌的实现,并编写了与您相同的代码。都谢谢。一切正常。非常感谢。现在我必须检查单击了哪个项目索引。