2

API 11-18을 타겟팅하는 Android 앱에서 문자열 배열을 사용하여 ListView를 동적으로 채우고 각 행에 수신기를 추가했습니다. 텍스트는 대개 행의 약 50 % 만 차지합니다. 문제는 내가 실제 텍스트를 클릭하면 onItemClick 액션이 실행되지만 행의 빈 부분을 클릭하면 그렇지 않다는 것입니다.onItemClick은 ListView의 전체 행에없는 텍스트에서만 실행됩니다.

제 질문은 : 어떻게 각 행의 전체 영역 /보기에 수신기를 추가 할 수 있습니까?

public class MainActivity extends ActionBarActivity { 

protected void onCreate(Bundle savedInstanceState) { 

... 

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.activity_list_item, my_array); 
ListView listview = (ListView) findViewById(R.id.listView1); 
listview.setAdapter(adapter); 

// add listener 
listview.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View v, int position, long id)     { 

     Log.d(TAG, "position=" + position); 

    } 
}); 

activity_main.xml :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:android1="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <ListView 
     android:id="@+id/listView1" 
     android:layout_width="wrap_content" 
     android:layout_height="0dp" 
     android:layout_weight=".80" 
     > 
    </ListView> 

activity_list_item.xml :

<?xml version="1.0" encoding="utf-8"?> 

     <TextView xmlns:android="http://schemas.android.com/apk/res/android"  
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/my_textview" 
     android:textSize="35sp" 
/> 
+0

이 파일의 코드를 게시하고이 파일의 코드를 게시하십시오 :'R.layout.activity_list_item' – FoamyGuy

+0

완료하면 android : layout_height = "match_parent"를 설정해야 할 것 같군요. – Javide

+0

네가 틀림없이 =) – FoamyGuy

답변

6

설정 match_parent에 activity_list_item의 TextViewlayout_width.

+1

지시대로 문제를 해결했지만 ListView의 "layout_width"도 "match_parent"로 설정해야했습니다. – Javide