-1
每一个!我是一个新的android在android ...在我的应用程序中,点击片段上的按钮后,我切换到新的活动,它显示列表,然后我过滤列表,现在我想获得选定的过滤列表项的细节回到调用片段。 ..我试图为监听器的onClick在适配器类的getView方法,其延伸基本适配器,但它不会切换到调用fragment..it保持在那里只有如何处理classadd列表中的过滤列表单击列表程序?
My Adapter classs
public class user_list_Adapter extends BaseAdapter {
private Context context;
public static ArrayList<user_list_item> user_arraylist;
private ArrayList<user_list_item> arraylist;
public static String selected_code;
public user_list_Adapter(Context context, ArrayList<user_list_item> user_array) {
this.context = context;
this.user_arraylist = user_array;
this.arraylist = new ArrayList<user_list_item>();
this.arraylist.addAll(user_array);
}
@Override
public int getCount() {
return user_arraylist.size();
}
@Override
public Object getItem(int position) {
return user_arraylist.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.user_row, null);
}
TextView txtname = (TextView) convertView.findViewById(R.id.dname);
TextView txtcode = (TextView) convertView.findViewById(R.id.dcode);
txtname.setText(user_arraylist.get(position).getCust_name());
txtcode.setText(user_arraylist.get(position).getCode());
// Listen for ListView Item Click
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Deposite df = new Deposite();
MainActivity activity = (MainActivity) context; //this line gives class cast exception
FragmentTransaction transaction = activity.getSupportFragmentManager().beginTransaction();
Bundle b = new Bundle();
b.putString("search_name ", search_name);
b.putString("search_code ", search_code);
df.setArguments(b);
transaction.replace(R.id.content_frame, df);
transaction.addToBackStack(null);
transaction.commit();
}
});
return convertView;
}
// Filter Class
public void filter(String charText) {
charText = charText.toLowerCase(Locale.getDefault());
user_arraylist.clear();
if (charText.length() == 0) {
user_arraylist.addAll(arraylist);
}
else
{
for (user_list_item item : arraylist)
{
if (item.getCust_name().toLowerCase(Locale.getDefault()).contains(charText))
{
user_arraylist.add(item);
}
if (item.getCode().toLowerCase(Locale.getDefault()).contains(charText))
{
user_arraylist.add(item);
}
}
}
notifyDataSetChanged();
}
}