标签: android-arrayadapter

Android notifyDataSetChanged

我有一个充满自定义的列表ArrayAdapter.

我想每秒更新一个进度条,所以我试图使用notifyDataSetChanged()以重新绘制列表,但它似乎不起作用.

android android-arrayadapter

14
推荐指数
1
解决办法
7万
查看次数

如何将项目添加到Spinner的ArrayAdapter?

我有一个EditText,一个按钮和一个微调器.单击该按钮时,微调器将添加一个新项目,其中包含您在EditText中输入的名称.但这是问题,我的adapter.add()方法似乎不起作用...这是我的代码:

public class Spr extends Activity {
Button bt1;
EditText et;
ArrayAdapter<CharSequence> adapter;
Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    bt1 = (Button)this.findViewById(R.id.bt1);
    et = (EditText)this.findViewById(R.id.et);  
    spinner = (Spinner)this.findViewById(R.id.spr);

    adapter = ArrayAdapter.createFromResource(
            this, R.array.planets_array, android.R.layout.simple_spinner_item);

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    spinner.setAdapter(adapter);

    bt1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            String temp = et.getText().toString();

            adapter.add(temp);
            adapter.notifyDataSetChanged();
            spinner.setAdapter(adapter);

        }
    });


    spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){

        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int pos, long id) {

            Toast.makeText(parent.getContext(), "The planet is " +
                      parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show(); …
Run Code Online (Sandbox Code Playgroud)

android add adapter android-arrayadapter

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

过滤后ListView不更新

我有一个ListView(带有setTextFilterEnabled(true))和一个自定义适配器(扩展ArrayAdapter),每当添加/插入新项目时,我都会从主UI线程更新.一切都工作正常 - 新项目立即显示在列表中.但是,当我尝试过滤列表时,这就停止了.

过滤工作,但我做了一次,我所有成功修改列表内容(添加,删除)的尝试都不再显示.我使用Log来查看适配器的列表数据是否得到了正确的更新,但确实如此,但它不再与显示的ListView同步.

是什么导致了这个以及如何最好地解决这个问题?

android listview filtering filter android-arrayadapter

14
推荐指数
1
解决办法
9989
查看次数

Android ListView Adapter如何检测空列表?

我的Activity中有一个ListView,它从SimpleAdapter的扩展类中获取值.当我添加或删除其中的一些数据时,这个正常工作.

但我的问题是,当我的项目列表为空时,我想用"No item inhere"之类的消息替换listView或类似的东西.

我尝试这样做,这样:

class FavAdapter extends SimpleAdapter{
    Activity context;
    ArrayList<HashMap<String,String>> data;
    String[] items;
    int[] champs;
    int layout;

    FavAdapter(Activity _context, ArrayList<HashMap<String,String>> _data, int _layout, String[] _items, int[] _champs){
        super(_context, _data, _layout, _items, _champs );
        this.data = _data;
        this.context = _context;
        this.items = _items;
        this.layout = _layout;
        this.champs = _champs;
    }

    public View getView(int pos, View convertView, ViewGroup parent){
        //Recycling
        View row = convertView;
        //Else get from XML
        if(row == null){
            LayoutInflater infla = context.getLayoutInflater();
            row = infla.inflate(layout, null);
        } …
Run Code Online (Sandbox Code Playgroud)

android listview adapter android-arrayadapter

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

使用数组列表的Android Spinner数据绑定

我有一个像这样的数组列表:

private ArrayList<Locations> Artist_Result = new ArrayList<Location>();
Run Code Online (Sandbox Code Playgroud)

此Location类有两个属性:idlocation.

我需要将我绑定ArrayList到一个微调器.我这样试过:

Spinner s = (Spinner) findViewById(R.id.SpinnerSpcial);
ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, Artist_Result);
s.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

但是,它显示对象的十六进制值.所以我想我必须设置显示该微调控制器的文本和值.

data-binding android arraylist spinner android-arrayadapter

14
推荐指数
3
解决办法
5万
查看次数

AutoCompleteTextView - 禁用过滤

我正在从a中检索字符串列表,webservice我想在AutoCompleteTextField不管内置AutoCompleteTextField过滤器的情况下列出它们.

我怎么做?有没有办法很容易地禁用它的内部过滤(最好没有子类)我已经将所有结果加载到a中ArrayAdapter,问题是它们中的一些因为过滤而没有显示出来.

如果我走向错误的方向,请指出正确的方向.

java android filter autocompletetextview android-arrayadapter

14
推荐指数
4
解决办法
5324
查看次数

Android:从自定义列表视图中单击的按钮获取列表视图项

我有一个带有两个按钮的自定义ListView,当我点击任何一行上的任何一个按钮时,我想在Listview上获得文本标签,现在只需弹出一个Toast.到目前为止没有任何工作我继续得到我的数组中的最后一项.

这是一个屏幕截图,让您更好地了解我的意思

在此输入图像描述

这是我的自定义ListView的Adapter子类

static final String[] Names = 
           new String[] { "John", "Mike", "Maria", "Miguel"};


class MyArrayAdapter extends ArrayAdapter<String> {
    private final Context context;      

    int which;

    public MyArrayAdapter(Context context, String[] pValues) {
        super(context, R.layout.main, pValues);
        this.context = context;
        values = pValues;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        rowView = inflater.inflate(R.layout.main, parent, false);
        TextView textView = (TextView) rowView.findViewById(R.id.label);
        ImageView imageView = (ImageView) rowView.findViewById(R.id.logo);
        Button call = (Button) rowView.findViewById(R.id.button1);
        Button chat …
Run Code Online (Sandbox Code Playgroud)

arrays android listview view android-arrayadapter

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

在牛轧糖上的黑暗背景上的黑色文本(android.R.layout.simple_spinner_item)

我在Welcome Activity上有一些基本代码,它像往常一样简单地绑定List适配器:

final ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, android.R.id.text1);
    spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Run Code Online (Sandbox Code Playgroud)

曾经有效,直到我更新到API级别25.此时,没有其他更改,微调器下拉列表的文本变得不可读:

在黑暗的背景机器人7的黑文本

我的主题的父级是"Theme.AppCompat.Light.NoActionBar",但同样,我没有玩那里的颜色,因为它显示正确(API <25)没有任何改变.任何的想法?

我知道我可以用一些setTextColor()内部修复它spinner.setOnItemSelectedListener(),但主要的一点是理解为什么它工作,现在它没有,因为这可能是我身边某些概念错误的标志,甚至某种Android bug.事实上,我注意到相同的问题(深色背景上的黑色文本)在非常标准的小部件/应用程序上,如Cyanogen/LineageOS默认天气一:

在黑暗的背景机器人7的黑文本

android android-arrayadapter android-spinner

14
推荐指数
1
解决办法
589
查看次数

更新Arrayadapter中的数据

我有这个问题,我有

private ArrayList<CustomItem> items; 
private ArrayAdapter<CustomItem> arrayAdapter;
Run Code Online (Sandbox Code Playgroud)

我显示项目中的数据,我在listview中看到的数据,现在我想更新数据并查看这些新数据

if (!items.isEmpty()) {
    items.clear(); // i clear all data
    arrayAdapter.notifyDataSetChanged(); // first change
    items = getNewData();// insert new data and work well
    arrayAdapter.notifyDataSetChanged();  // second change                                      
}
Run Code Online (Sandbox Code Playgroud)

在第一次更改我看到数据被清理,但在第二次更改我没有在列表视图中看到新数据,我检查,该项目不会清空

我不知道错误在哪里,你能帮助我吗?最好的评论安东尼奥

java android android-widget android-arrayadapter

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

我在android版本4.3中使用listview添加/删除页脚为listview交叉应用程序?

我曾经ListView添加页脚视图,并删除它在Android版本4.4以上的工作正常但在Android版本4.3及以下的问题我使用以下代码添加页脚

listfortestmyfeed.addFooterView(footerView);
Run Code Online (Sandbox Code Playgroud)

并删除代码后的页脚

listfortestmyfeed.removeFooterView(footerView);
Run Code Online (Sandbox Code Playgroud)

在我的logcat中删除显示类强制转换异常的页脚

 07-11 20:07:49.665: E/ACRA(22818): com.sample.activities fatal error : com.sample.adapters.MyfeedAdapter cannot be cast to android.widget.HeaderViewListAdapter
    07-11 20:07:49.665: E/ACRA(22818): java.lang.ClassCastException: com.sample.adapters.MyfeedAdapter cannot be cast to android.widget.HeaderViewListAdapter
    07-11 20:07:49.665: E/ACRA(22818):  at android.widget.ListView.removeFooterView(ListView.java:390)
    07-11 20:07:49.665: E/ACRA(22818):  at com.sample.fragments.MyfeedNewFragment$FollowingBloopsdoinback.onPostExecute(MyfeedNewFragment.java:172)
    07-11 20:07:49.665: E/ACRA(22818):  at com.sample.fragments.MyfeedNewFragment$FollowingBloopsdoinback.onPostExecute(MyfeedNewFragment.java:1)
    07-11 20:07:49.665: E/ACRA(22818):  at android.os.AsyncTask.finish(AsyncTask.java:631)
    07-11 20:07:49.665: E/ACRA(22818):  at android.os.AsyncTask.access$600(AsyncTask.java:177)
    07-11 20:07:49.665: E/ACRA(22818):  at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
    07-11 20:07:49.665: E/ACRA(22818):  at android.os.Handler.dispatchMessage(Handler.java:99)
    07-11 20:07:49.665: E/ACRA(22818):  at android.os.Looper.loop(Looper.java:137)
    07-11 20:07:49.665: E/ACRA(22818):  at android.app.ActivityThread.main(ActivityThread.java:5103)
    07-11 20:07:49.665: E/ACRA(22818):  at java.lang.reflect.Method.invokeNative(Native …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter android-listview

13
推荐指数
1
解决办法
5934
查看次数