标签: baseadapter

Android:ListView没有刷新notifyDataSetChanged();

我在主要活动中有一个自定义BaseAdapter和一个添加按钮.该按钮打开一个带有文本框的对话框,您可以通过该方式向列表中添加新元素.问题是列表没有刷新.在onActivityResult()函数中,我打印列表中的元素数量,每次在对话框中点击"确定"时,数字都会增加,所以我知道这只是刷新不起作用.我的BaseAdapter和我的活动:

class ListaOrase extends BaseAdapter{
    private Activity context;
    ArrayList<String> orase;

    public ListaOrase(Activity context){
        this.context=context;
        orase=new ArrayList<String>();
    }
    public void add(String string){
        orase.add(string);
        this.notifyDataSetChanged();
    }

    public View getView (int position, View convertView, ViewGroup list)  {
        View element;
        if (convertView == null)
        {
         LayoutInflater inflater = context.getLayoutInflater();
         element = inflater.inflate(R.layout.lista, null);
        }
        else element = convertView;
        TextView elementLista=(TextView)element.findViewById(R.id.elementLista);    
        elementLista.setText(orase.get(position));
        return element;
    }

}

public class WeatherAppActivity extends ListActivity {

    Button buton;
    ListaOrase lista;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        lista=new …
Run Code Online (Sandbox Code Playgroud)

android listview baseadapter

6
推荐指数
1
解决办法
2万
查看次数

如何在android中使用列表片段显示自定义列表视图

我把我的android屏幕划分为2个fragements.在第一个我从服务器数据库到android mobile制作一个listview.问题是我不能在基础适配器类中调用getview方法.帮帮我吧

    public class MyListFragment1 extends ListFragment {

ImageView back;
String url = Main.url;
String Qrimage;
Bitmap bmp;
ListView  list ;

AppetiserFragment adapter;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    return inflater.inflate(R.layout.applistviewfragment, container, false);

}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    // back=(ImageView)findViewById(R.id.backfoodmenu);
    /*
     * back.setOnClickListener(new OnClickListener() {
     * 
     * public void onClick(View v) { // TODO Auto-generated method stub
     * Intent intent=new Intent(getApplicationContext(),FoodMenu.class);
     * intent.putExtra("url", url); startActivity(intent); …
Run Code Online (Sandbox Code Playgroud)

android android-listview baseadapter android-listfragment

6
推荐指数
1
解决办法
7037
查看次数

带自定义适配器的MultiAutoCompleteTextView显示乱码字符串

这是我之前的问题的后续跟进:Android:自动完成TextView类似于Facebook应用程序.

的背景:

我在问题中的要求(上面发布的链接)AutoCompleteTextView与Facebook应用程序中使用的类似,其他几个也是如此.解决方案是使用多线路.MultiAutoCompleteTextView这个想法是让用户在创建状态更新时直接输入他们的好友名称.答案中的解决方案从独立的角度来看很好.但是,当我盯着在现有代码中集成解决方案时,它仍然适用于正确的下拉列表等等.感谢来自这里的解决方案,我看到了我朋友的过滤列表:https://stackoverflow.com/a/12363961/1350013.我用一个自定义的ListView一个BaseAdapter,而不是GridView从溶液中.

问题:

我的代码使用了一个BaseAdapter实现Filterable.如上所述,工作正常.

当我从筛选列表中选择一个朋友时,问题出在哪里.的MultiAutoCompleteTextView,选择后,显示此:@MY_PACKAGE_NAME.Friends.getFriends@406c1058而不是朋友的名字.我需要更改什么来显示名称而不是乱码文本?如果它有帮助,那么我在第一类中运行它来扩展a SherlockActivity而不是a SherlockListActivity.

现在我不确定相关代码是什么,以找出问题所在的位置,因此我将尽可能多地发布相关代码.我是一个菜鸟,所以请轻松并要求任何额外的代码.我会及时遵守.同样,如果不需要这里的东西使帖子混乱,我将删除它.

代码块

来自我之前的问题的解决方案中的Tokenizer.链接在顶部(在onCreate()方法中)

editStatusUpdate = (MultiAutoCompleteTextView) findViewById(R.id.editStatusUpdate);
editStatusUpdate.addTextChangedListener(filterTextWatcher);

editStatusUpdate.setTokenizer(new Tokenizer() {

    @Override
    public CharSequence terminateToken(CharSequence text) {

        int i = text.length();

        while (i > 0 && text.charAt(i - 1) == ' ') {
            i--;
        }

        if (i > 0 && text.charAt(i - …
Run Code Online (Sandbox Code Playgroud)

android baseadapter

6
推荐指数
2
解决办法
3263
查看次数

Android:删除listview中某些列表项的分隔符

我用a创建了一个listview BaseAdapter.我想要一些listitems有一个分隔符,但是从一些listitems,我想删除分隔符.我知道你可以通过设置.setDivider(null)和删除整个列表的分隔符.setDividerHeight(0),但是也可以从列表中的单个列表项中删除分隔符吗?

提前致谢!

java android divider android-listview baseadapter

6
推荐指数
1
解决办法
5351
查看次数

如何刷新填充BaseAdapter的Fragment中的ListView?

我想在关闭对话框时刷新片段中的ListView.到目前为止,刷新仅在我重新启动应用程序时才有效,我不知道为什么.

以下是课程:

当Dialog关闭时,这是我想要刷新的ListView和ListView.

public class RegisterListFragment extends Fragment {


    public static final String TAG = "RegisterListFragment";

    RegisterListAdapter adapter;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        setRetainInstance(true);
        // TODO Auto-generated method stub

        View view = inflater.inflate(R.layout.act_select_list_fragment, container, false);


        ListView list = (ListView) view.findViewById(R.id.register_list);
        list.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                    long arg3) {
                Intent i = new Intent(getActivity(), com.example.smartkasse.Act_Register.MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                TextView selectedRegisterTextView = (TextView) arg1.findViewById(R.id.title);
                String selectedRegisterName = (String) selectedRegisterTextView.getText();
                i.putExtra("selectedRegisterName", selectedRegisterName);
                startActivity(i);
                getActivity().finish(); …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-adapter android-fragments baseadapter

6
推荐指数
1
解决办法
2万
查看次数

自定义日历和日历适配器

我有一个自定义日历,从这里看到的修改.在初始加载时,它会显示所有内容.

但是我有两个问题.

1.)在上个月的按钮上,按照预期从8月到7月,但它并没有清除所有图像.

2.)从7月到8月,它将在7月停留并重新安排日期.

BaseAdapter:

public class CalendarAdapter extends BaseAdapter {
    private Context mContext;
    private java.util.Calendar month;
    public GregorianCalendar pmonth; // calendar instance for previous month
    public GregorianCalendar pmonthmaxset;
    private GregorianCalendar selectedDate;
    public static List<String> dayString;
    private List<String[]> anArrayOfStrings = new ArrayList<String[]>();
    int firstDay, maxWeeknumber, maxP, calMaxP, lastWeekDay, leftDays, mnthlength;
    String itemvalue, curentDateString;
    DateFormat df;
    ImageView mimgPeriod, mimgEnergy, mimgIntercorse, mimgPregancy, mimgHeadache, mimgMood;
    DateFormat formatter;
    Date rowdatetemp;
    Date caldatetemp;
    String box;
    private int mHeight = 0;
    private int mWidth …
Run Code Online (Sandbox Code Playgroud)

android baseadapter

6
推荐指数
1
解决办法
6196
查看次数

在android自定义列表视图中重复列出项目

在我的自定义列表视图中,项目正在重复.项目的位置对于所有项目是相同的.代码如下

ListAdapter.java-

    public class ListAdapter extends BaseAdapter{

    private List<String> mName;
private List<Drawable> mIcon;
private Context mContext;

public ListAdapter(Context mContext, List<String> Name, List<Drawable> Icon) {
    this.mContext=mContext;
    this.mName=Name;
    this.mIcon=Icon;
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return mName.size();
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return position;
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}

@Override
public View getView(final int position, View v, ViewGroup parent) { …
Run Code Online (Sandbox Code Playgroud)

android listview baseadapter

6
推荐指数
1
解决办法
2万
查看次数

片段中带有Gridview的Android ImageAdapter

我有一个gridview适配器作为活动.我现在试图将它放在片段中并转换成东西,但它不起作用.当我在我的Activity中包含IconFragmentSystem时,当我尝试打开Activity时,我会收到一个强制关闭.

我知道活动有效,因为我可以使用其他碎片,一切都很好,所以我知道我的问题在于这个文件.

package com.designrifts.ultimatethemeui;
import com.designrifts.ultimatethemeui.R;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;

import java.util.ArrayList;

public class IconFragmentSystem extends Fragment implements AdapterView.OnItemClickListener{
private static final String RESULT_OK = null;
public Uri CONTENT_URI;

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.main, container, false);

    super.onCreate(savedInstanceState);
    int iconSize=getResources().getDimensionPixelSize(android.R.dimen.app_icon_size);

    GridView gridview = (GridView) getActivity().findViewById(R.id.icon_grid);
    gridview.setAdapter(new IconAdapter(this, iconSize));
    gridview.setOnItemClickListener(this);
    CONTENT_URI=Uri.parse("content://"+iconsProvider.class.getCanonicalName());
    return view;
}

@Override
public void onItemClick(AdapterView<?> …
Run Code Online (Sandbox Code Playgroud)

java android gridview adapter baseadapter

6
推荐指数
1
解决办法
3万
查看次数

带有片段的Android BaseAdapter

无法编译此代码并运行.得到问题的lv.setAdapter(new VcAdapter (this)); 善意帮助.如果我尝试不通过(this),那么代码编译正常,但运行时会收到错误,说明内容需要listview.

import java.util.ArrayList;

import com.vaishnavismeclass.tiruppavai.tab.R;
import com.vaishnavismeclass.tiruppavai.tab.SingleRow;

import android.support.v4.app.Fragment;
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

public class EnglishFragment extends Fragment {

    Context context = null;

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_english, container, false);

        ListView lv = (ListView) rootView.findViewById(R.id.list); 
        lv.setAdapter(new VcAdapter (this));

        return rootView;
    }
}

class SingleRow
{
    String pasuram;
    int …
Run Code Online (Sandbox Code Playgroud)

android android-listview baseadapter

6
推荐指数
1
解决办法
8468
查看次数

阻止适配器在滚动时回收视图(编辑不要这样做.)

我有一个自定义基本适配器,它将接收数据的arraylist.从这里开始,它将使用自定义按钮填充网格视图.它完美地完成并填满了gridview.问题是.我想设置一个按钮来改变颜色.当我这样做时,由于视图被回收,它还会更改下一个被回收的视图.防爆.单击位置0处的按钮1.同时更改位置13处的按钮.现在,当我进行一些调试时,我发现它也会更改某些属性.我想知道是否有创建我的视图,因为它不需要回收任何部分的视图.

我已经看到了一些关于使用stableID的事情,但即使我已经将它重写为true.它目前仍然没有改变它.

static class CategoryButtonAdapter extends BaseAdapter
{
    private Context mContext;
    private ArrayList<DishCategory> dishCategories;
    private ArrayList<Dish> dishItems;
    static ArrayList<DishCategoryButton> mDishCategoryButtons;
    //will take in an array list created in the orderlayout that will be the 
    //dish category. This will be the from where we will the count for the adapter
    public CategoryButtonAdapter(Context context, ArrayList<DishCategory> dishCategories)
    {
        this.mContext = context;
        this.dishCategories = dishCategories;

        dishItems  = dishCategories.get(0).getDishes();
    }

    public int getCount() 
    {
        return dishCategories.size();
    }

    //to be implementated later so it can b3e …
Run Code Online (Sandbox Code Playgroud)

android gridview button baseadapter

6
推荐指数
2
解决办法
2万
查看次数