标签: android-arrayadapter

如何在android中删除自定义列表视图项?

我的布局文件中有一个列表视图和一个按钮.我点击该按钮将项目添加到listview.活动开始时列表视图应为空,但应通过向其添加项目来增加.这是我在onCreate()中的代码:

list  = (ListView)findViewById(R.id.inverterListView);
adapter = new ArrayAdapter<String>(InverterList.this, R.layout.inverters_list_row, R.id.inverterNumberTextViewInPanelListRow);
 list.setAdapter(adapter); 
Run Code Online (Sandbox Code Playgroud)

在这里我将项目添加到listview onclick的按钮.

adapter.add(inverterNo);
adapter.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)

这很好用.任何人都可以指导我删除自定义列表视图项目?提前致谢.

android android-arrayadapter android-listview

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

Android列表+适配器仅显示第一个条目

所以我已经创建了一个自定义ArrayAdapter来填充我的Lists,它只是覆盖了getView(int position,View v,ViewGroup parent).

如果我像这样使用它:

public class MyActivity extends ListActivity {
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setListAdapter(adapter);
  }
}
Run Code Online (Sandbox Code Playgroud)

Everthing工作正常,我的列表正确显示所有条目.

现在,如果我尝试在XML布局中的<ListView />上使用相同的Adapter类,如下所示:

ListView lv = (ListView) v.findViewById(R.id.list);
MyAdapter a = new MyAdapter (lv.getContext(), R.layout.list_item, entries);
lv.setAdapter(a);
Run Code Online (Sandbox Code Playgroud)

它只显示List的第一个条目.

我已经尝试使用adapter.add手动添加项目(entry.get(i)); 并调用adapter.notifyDataSetChanged(); 事后没有帮助.

e:这是XML布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    android:padding="1dp">

    <TextView
        android:id="@+id/bc_path"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="3dp"
        android:textStyle="bold"
        android:textAppearance="?android:attr/textAppearanceSmall"/>

    <TextView
        android:id="@+id/bc_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="3dp"
        android:textStyle="bold"
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:background="@drawable/title_gradient"/>

    <TextView
        android:id="@+id/bc_genre"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="3dp"
        android:background="@drawable/location_gradient"
        android:textColor="#ffffff"/>

    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter android-layout android-listview

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

如何在扩展ArrayAdapter <String>的类中获取共享首选项

我有一个ArrayAdapter,我需要获得应用程序的共享首选项,以便用它做一些事情.我的问题我不能得到共享的偏好.那就是我的代码:

public class MobileArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;
private static SharedPreferences prefs;
private String firstBtName = "";
private String secondBtName = "";
private String thirdBtName = "";


public MobileArrayAdapter(Context context, String[] values) {
    super(context, R.layout.list, values);
    this.context = context;
    this.values = values;

}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    prefs = getSharedPreferences("MYPREFS", 0); // ERROR **************

    LayoutInflater inflater = (LayoutInflater) context
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View rowView = inflater.inflate(R.layout.list, parent, false);
    TextView …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter sharedpreferences

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

ListView数据未显示在片段中

这是产生意外结果的代码.如果有人能指导我在这里做错了什么

 public static class LaunchpadSectionFragment extends Fragment {

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

        ListView moviesList= (ListView) rootView.findViewById(R.id.movies_list);

        ArrayAdapter<String> moviesAdapter;
        List<String> Testing = new ArrayList<String>();
        Testing.add("Hey");
        Testing.add("Hey");
        Testing.add("Hey");
        Testing.add("Hey");
        moviesAdapter= new MyAdapter(getActivity(),android.R.layout.simple_list_item_1,Testing);
        moviesList.setAdapter(moviesAdapter);


return rootView;
}
Run Code Online (Sandbox Code Playgroud)

android listview android-arrayadapter android-fragments

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

ListView.setSelection不起作用

我正在开发一个有ListView... 的对话框

我已成功将适配器,选择器,list_itemlayout放入onCreate()如下..

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.variable_dialog);

    lv=(ListView) findViewById(R.id.VariableslistView1);
    lv.setAlwaysDrawnWithCacheEnabled(true);        
    final ArrayAdapter<String> ad=new ArrayAdapter<String>(getContext(),android.R.layout.simple_list_item_1,Program.get().symboltable.getSymbols());
    lv.setAdapter(ad);

    lv.setSelector(R.drawable.item_selected);
Run Code Online (Sandbox Code Playgroud)

但每当我试图得到getSelectedItemPosition()它时,它总是返回-1

好像我没有选择任何东西..即使我如此调用我自己的选择:

lv.setSelected(true);
    lv.setSelection(1);
    lv.setItemChecked(1, true);
    ad.notifyDataSetChanged();
    ad.notifyDataSetInvalidated();
Run Code Online (Sandbox Code Playgroud)

这是我的选择器:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
 <stroke
    android:width="2dp"
    android:color="#FF00FF00" />

<gradient
    android:angle="225"
    android:endColor="#DD2ECCFA"
    android:startColor="#DD000000" />

<corners
    android:bottomLeftRadius="7dp"
    android:bottomRightRadius="7dp"
    android:topLeftRadius="7dp"
    android:topRightRadius="7dp" />


</shape>
Run Code Online (Sandbox Code Playgroud)

为了上帝的缘故,到底是什么错误的?!?!

我甚至试过AdapterView.OnItemSelectedListener但从未成功:|

任何人都可以告诉我这是什么问题.

提前致谢

android android-arrayadapter android-listview android-dialog

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

如何按降序对列表视图项进行排序

所以我有一个listview,我想按降序排序NumberOfRecords.我有一个自定义数组适配器,但我在将数据放入ArrayList之前调用了我的排序类,这是我的Asynctask接收JSON:

public class SampleListTask extends AsyncTask<String, Void, String> {

    public ProgressDialog pDialog;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

        pDialog = new ProgressDialog(SampleActivity.this);
        pDialog.setMessage("Loading...");
        pDialog.setCancelable(false);
        pDialog.show();
    }

    @Override
    protected String doInBackground(String... path) {
        Thread.currentThread().setPriority(Thread.MAX_PRIORITY);

        Log.d(Constant.TAG_RANKING, path[0]);
        String apiRequestReturn = UtilWebService.getRequest(path[0]);
        if (apiRequestReturn.equals("")) {
            Log.d(Constant.TAG_SAMPLE, "WebService request is null");
            return null;
        } else {
            Log.d(Constant.TAG_SAMPLE, "WebService request has data");
            return apiRequestReturn;
        }
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);

        if (null != pDialog && pDialog.isShowing()) {
            pDialog.dismiss();
        }

        if (null == …
Run Code Online (Sandbox Code Playgroud)

sorting android arraylist android-arrayadapter android-listview

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

在listview数组上使用strings.xml项

我用android studio编写了一个Android应用程序.我正在显示一个从String Array获取其内容的ListView.我想在listview的数组中使用strings.xml项,但我不能.请帮我.我正在为数组的第一项做这个:

 public final String palanca= (getResources().getString(R.string.palanca));
private String [] formls = {palanca,"@string/uMR","@string/new1","@string/new2","@string/new3"};
Run Code Online (Sandbox Code Playgroud)

谢谢!

java android android-arrayadapter android-listview

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

ArrayAdapter 中的多个元素 - Android

我正在为具有 2 个项目(2 个 textViews)的列表视图创建一个数组适配器。

我知道如何将单个项目添加到我的适配器:

ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(this,R.layout.newsrow, R.id.titleTextView,myArray);
list.setAdapter(listAdapter);
Run Code Online (Sandbox Code Playgroud)

但是我应该怎么做才能将第二个 textView(在我的应用程序中称为 contentTextView)添加到 listAdapter?

android android-arrayadapter android-listview

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

如何删除Android ViewPager中的页面?

我正在尝试fragmentsViewPager下面的按钮单击中动态添加/删除,但如果我remove通过单击后退按钮获取片段(表单),并再次添加片段,则表单保留其数据(EditText不为空).

这是我的适配器:

package com.thomas.playlists.viewPager;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.ArrayList;

public class ViewPagerAdapter extends FragmentPagerAdapter
{
    ArrayList<Fragment> mList = null;

    public ViewPagerAdapter(FragmentManager fm)
    {
        super(fm);
        mList = new ArrayList<Fragment>();
    }

    public void add(Fragment fragment)
    {
        mList.add(fragment);
    }

    public void removeLast()
    {
        if(mList.size() > 1)
            mList.remove(getCount() - 1);
    }

    @Override
    public Fragment getItem(int i)
    {
        return mList.get(i);
    }

    @Override
    public int getCount()
    {
        return mList.size();
    }
}
Run Code Online (Sandbox Code Playgroud)

添加proccess两次使用(在主Activity中):

PlaylistFragment playlistFragment = new PlaylistFragment(); …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter android-fragments android-viewpager

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

SearchView:从建议监听器获取所选项目

我有一个搜索视图,其中包含由MatrixCursor填充的建议(因为我已经有一个字符串数组).但是我想知道用户正在选择哪个项目.到目前为止,我只能获得用户点击建议列表的位置:

searchView.setOnSuggestionListener(new SearchView.OnSuggestionListener() {
        @Override
        public boolean onSuggestionClick(int position) {
            String selectedItem = (String)mAdapter.getItem(position);
            Log.e("search view", selectedItem);
            return true;
        }
Run Code Online (Sandbox Code Playgroud)

但是我有一个错误:android.database.MatrixCursor无法转换为java.lang.String,我不知道如何解决它.非常感谢任何帮助.

android android-arrayadapter simplecursoradapter matrixcursor searchview

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