这是一个奇怪的问题,我非常好奇。我有一个配置文件列表视图,当我点击一个特定的配置文件时,我想自己查看该特定配置文件。当我尝试在列表视图中选择一个项目时,它通常不起作用,但由于某些奇怪的原因,它有时会起作用(大约十分之一)。这让它更令人沮丧。有没有人遇到过这个问题?谢谢。 (我发布了一个类似于这个问题的问题,认为它根本不起作用,所以请不要重复,谢谢)。
public class CowListView extends ListActivity {
RegisterCowAdapter cowAdapter;
private DataBaseHelper databaseHelper;
public ListView listView;
TextView student_Id;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cow_list_item);
cowAdapter = new RegisterCowAdapter(this);
cowAdapter.open();
updateCowUI();
listView = (ListView) findViewById(android.R.id.list);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
student_Id = (TextView) view.findViewById(R.id.cowtagnolist);
String studentId = student_Id.getText().toString();
Intent i = new Intent(view.getContext(), CowProfile.class);
Toast.makeText(CowListView.this, "Clicked", Toast.LENGTH_SHORT).show();
i.putExtra("student_Id", Integer.parseInt(studentId));
Log.d("StartingCow", studentId);
startActivityForResult(i, 0);
}
});
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants"
android:longClickable="true"
android:focusableInTouchMode="false"
android:clickable="false"
android:focusable="false">
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ListView>
<TextView
android:id="@+id/cowtagnolist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/black"
android:clickable="true">
</TextView>
<TextView
android:id="@+id/cowdoblist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="17dp"
android:clickable="true"
android:textColor="@color/black">
</TextView>
</LinearLayout>
答案 0 :(得分:1)
我弄清楚出了什么问题,我没有正确定义我的子对象和我的根项。希望这可以帮助那些有类似问题的人。 子项应该如下所示实现:
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
在根项目中:
android:clickable="false"
android:descendantFocusability="blocksDescendants"
android:focusable="false"
android:focusableInTouchMode="false"
答案 1 :(得分:0)
你应该将Listview宽度保持为Match_parent,如果你使用wrap_content,它将不会获得超出其子大小或宽度的click事件。我认为这可能是问题所在。如果您的Listview单行布局也包含宽度为wrap_content的子视图,则问题可能会增加。
答案 2 :(得分:0)
问题可能在于xml ??
我看到了下一个字符串
机器人:longClickable = “真” 机器人:可点击= “假”
当您长时间点击而不是平常时,看起来有10次成功点击中的一次。要解决问题,请将clickable变为true
机器人:可点击= “真”
如果我理解正确的问题 - 它应该有帮助