2012-03-26 6 views
1

텍스트 및 이미지가 포함 된 listview에 대한 사용자 지정 어댑터를 만들었습니다. 특정 목록 항목을 클릭 할 때 다른 활동을 열어야하지만 목록보기 이벤트를 발생시킬 수 없습니다. 아래 코드는 내 코드입니다.목록보기 클릭이 불이 아닙니다.

감사합니다.

어댑터

public class ImageAndTextAdapter extends ArrayAdapter<String> { 

private LayoutInflater mInflater; 
private Context myCtx; 
private String[] mStrings; 
private TypedArray mIcons; 

private int mViewResourceId; 

public ImageAndTextAdapter(Context ctx, int viewResourceId, 
     String[] strings, TypedArray icons) { 
    super(ctx, viewResourceId, strings); 
    myCtx = ctx; 
    mInflater = (LayoutInflater)ctx.getSystemService(
      Context.LAYOUT_INFLATER_SERVICE); 

    mStrings = strings; 
    mIcons = icons; 

    mViewResourceId = viewResourceId; 
} 

@Override 
public int getCount() { 
    return mStrings.length; 
} 

@Override 
public String getItem(int position) { 
    return mStrings[position]; 
} 

@Override 
public long getItemId(int position) { 
    return 0; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    convertView = mInflater.inflate(mViewResourceId, null); 

    ImageView iv = (ImageView)convertView.findViewById(R.id.option_icon); 
    iv.setImageDrawable(mIcons.getDrawable(position)); 


    TextView tv = (TextView)convertView.findViewById(R.id.option_text); 
    tv.setText(mStrings[position]); 

    return convertView; 
} 
} 

홈페이지 acitivity

public class OurWishingWellActivity extends ListActivity implements OnClickListener{ 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // setContentView(R.layout.list_view_image); 

    Context ctx = getApplicationContext(); 
    Resources res = ctx.getResources(); 

    String[] options = res.getStringArray(R.array.reg_item_names); 
    TypedArray icons = res.obtainTypedArray(R.array.reg_icons); 

    setListAdapter(new ImageAndTextAdapter(ctx, R.layout.list_item, 
      options, icons)); 

} 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 

} 


} 
+0

당신은 ImageBut을 가지고 있습니까? 톤 또는 단추 목록 항목? – user936414

+0

기본 xml 및 xml 행을 표시 할 수 있습니까? – RobinHood

+0

나는 당신에게 전체를 보내려고하고있다. 단지 잠시 후 – Ishtiaq

답변

0

존경 Aafag 번호

당신은 아래와 같이 온 클릭 목록보기의 쓰기있다.

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    // TODO Auto-generated method stub 
    super.onListItemClick(l, v, position, id); 
    Toast.makeText(AdvancedListViewActivity.this, "working", Toast.LENGTH_SHORT).show(); 
    System.out.println("working!!!!!!!!!"); 
} 
+0

네가 맞다.하지만 익숙하다. 내 목록에는 내 목록에 XML보기가없고 텍스트보기와 이미지보기 만있다. 런타임에 목록, 나는 다른 활동을 호출 할 수 onItemClick 이벤트가 필요합니다. 이것은 실제 예제입니다 http://androidcookbook.com/Recipe.seam;jsessionid=5424397F3130CE7769FF47DD67742911?recipeId=1418&recipeFrom=ViewTOC – Ishtiaq

+0

그래, 나 이 예제를 구현하고이 몇 줄의 코드를 추가하면 코드가 작동합니다. – RobinHood

+0

FindViewById ...에서 오류가 발생했습니다. ( – Ishtiaq

0

추가 청취자

@Override 

공공보기의 getView (INT 위치보기 convertView, 뷰 그룹의 부모) { convertView = mInflater.inflate (mViewResourceId, null);

ImageView iv = (ImageView)convertView.findViewById(R.id.option_icon); 
iv.setImageDrawable(mIcons.getDrawable(position)); 


TextView tv = (TextView)convertView.findViewById(R.id.option_text); 
tv.setText(mStrings[position]); 

convertView .setOnClickListener (새 OnClickListener를() {

 @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      startActivity(); 


     } 
    }); 

return convertView; 

}