2013-01-16 1 views
0

왜 onClickListener가 응답하지 않는지 혼란 스럽습니다. 그것은 하나의 레이아웃에 버튼이 설정되었지만 다른 버튼에 바인딩 되었기 때문입니까? 어떤 도움을 주시면 감사하겠습니다.ListFragment의 onClickListener가 응답하지 않습니다.

public class ActivityList extends ListFragment 

{ 
private ActivityDbAdapter mDbHelper; 
private Long mRowId=Long.valueOf(1); 
private Activity mContext; //changed to private 
AlertDialog activity_relationship; 



@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
    Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
mContext=this.getActivity(); 
mDbHelper=new ActivityDbAdapter(mContext); 
mDbHelper.open(); 
Cursor activity = mDbHelper.fetchAll(mRowId); 
View view = (View) inflater.inflate(R.layout.activity_activity_row, container,false); 
Button relationship = (Button) view.findViewById(R.id.show_relationship_activities); 




String[] from = new String[]{ActivityDbAdapter.COLUMN_NAME_VALUE1_RELATIONSHIP , //from and too. 
     ActivityDbAdapter.COLUMN_NAME_VALUE1_EDUCATION, 
     ActivityDbAdapter.COLUMN_NAME_VALUE1_RECREATION, 
     ActivityDbAdapter.COLUMN_NAME_VALUE1_MIND, ActivityDbAdapter.COLUMN_NAME_VALUE1_DAILY}; 


int[] to = new int[]{R.id.relationship_value,R.id.education_value, R.id.recreation_value, 
     R.id.mind_value, R.id.daily_value}; 

SimpleCursorAdapter contacts = 
    new SimpleCursorAdapter(mContext, R.layout.activity_activity_row, activity, from, to); //my cursor adapter 


relationship.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View arg) { 

     Log.e("Why","Are you not working?"); 

     Cursor activity = mDbHelper.fetchAll(mRowId); 

    String mactivity_relationship=activity.getString(            //define all of the Strings. Gahh!! 
      activity.getColumnIndexOrThrow(ActivityDbAdapter.COLUMN_NAME_ACTIVITY1_RELATIONSHIP)); 

     AlertDialog activity_relationship=new AlertDialog.Builder(mContext).create(); 
     activity_relationship.setTitle("Relationship Activities"); 
     String activities=(mactivity_relationship+"\n"+mactivity_relationship2+"\n"+mactivity_relationship3+ 
       "\n"+mactivity_relationship4+"\n"+mactivity_relationship5); 
     activity_relationship.setMessage(activities); 
     activity_relationship.show(); 



    } 

}); 

setListAdapter(contacts); 




return inflater.inflate(R.layout.activity_activity_list, container, false); 

} 

} 

현재 로그가 표시되지 않습니다.

+0

'activity_activity_row.xml' 레이아웃을 게시하십시오. – Sam

답변

3

당신은 onCreateView에서 실제로 만들어보기를 반환 (그리고 Button 얻기 위해 사용) 할 수 있습니다 :

//... 
return view; 

대신 새로 팽창 레이아웃을 반환 (이전 Button 손실)의 :

return inflater.inflate(R.layout.activity_activity_list, container, false); 

또는 R.layout.activity_activity_list 파일의보기에 view을 추가하십시오.

+0

그것은 그것을 나타냅니다. 나가 다른 경로의 아래 이끌 기 전에 다만 확인하고 싶었다. 최대한 빨리 받아 들일 것입니다. 도와 주셔서 감사합니다. – sam

+0

@sam 귀하의 코드로 판단 ... 목록 행에서'Buttons'에 대해'OnClickListener'를 설정하려고합니까? 만약 그렇다면, 사용자 정의 어댑터를 만들고 getView 메소드 (또는 Cursor 기반 어댑터의 경우 bindView) 메소드에서 OnClickListener 메소드를 설정해야합니다. – Luksprog

+0

그것이 내가하려는 일입니다. 내가 할게. 다시 한번 감사드립니다. – sam