标签: android-arrayadapter

我在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
查看次数

Spinner无法加载整数数组?

我有一个应用程序,它有一个Spinner,我想要填充一些数字(4,8,12,16).我在strings.xml中使用上面提到的项创建了一个整数数组对象,将Spinner的条目设置为整数数组,当我运行应用程序时,我得到:

04-19 23:38:48.016: ERROR/AndroidRuntime(10193): java.lang.NullPointerException
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:355)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:198)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.view.View.measure(View.java:7965)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:888)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:350)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.view.View.measure(View.java:7965)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2989)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.view.View.measure(View.java:7965)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:464)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:278)
04-19 23:38:48.016: ERROR/AndroidRuntime(10193):     at android.view.View.measure(View.java:7965) …
Run Code Online (Sandbox Code Playgroud)

android spinner android-arrayadapter

12
推荐指数
1
解决办法
7346
查看次数

在Android中,ArrayAdapter线程安全吗?如果没有,我该怎么做才能使其安全?

让我说我扩展ArrayAdapter并在我覆盖的代码中getView(int i, View v, ViewGroup g),我使用检索当前项目 getItem(i).getItem(i)即使其他线程操作相同,我能确定会返回一个项目ArrayAdapter吗?

我不确定,但我认为答案是肯定的.如果是的话,你建议我做些什么来使它成为线程安全的?

multithreading android android-arrayadapter

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

以编程方式切换复选框

我有一个需要检查/取消选中项目的ListView.我已经设置了一个当前使用android.R.layout.simple_list_item_multiple_choice作为行的ArrayAdapter,一切都显示正常.我也能够正确获得此项目的点击次数.但是,选中该项时,UI 的复选框不会切换.我一直试图弄清楚这一点,有人能指出我正确的方向吗?我只是想知道如何强制UI更新以反映复选框的更改状态.

我可以提供代码,如果需要,但我正在尝试寻找一些非常具体的东西,所以我想发布一堆我的代码将没有多大帮助.

谢谢!

android listview android-arrayadapter

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

过滤后Android ListView数组索引越界

我认为这是专家的问题.

我从ListView数据列表中调用getView()positon 超出界限的调用. 当我使用适配器过滤器时会发生这种情况 过滤器方法使用小于原始列表的过滤列表填充数据. 当新筛选的列表比先前 筛选的列表短时,似乎发生错误.我更改了代码,在越界时返回一个虚拟convertView,只是为了查看发出了多少这样的调用.
publishResults()
getView()

这些是log我记录的相关代码和消息:

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // No logs here to keep ListView performance good
        Log.d(TAG, "+ getView( position=" + position + ")");
        ViewHolder holder;

        if( position >= mData.size() ) {
            // This code allows to see how many bad calls I get
            Log.w(TAG, "position out of bounds!");
            convertView = mInflater.inflate(mLayout, parent, false); …
Run Code Online (Sandbox Code Playgroud)

android listview filter android-arrayadapter

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

如何从String数组填充Spinner

我怎么能填充微调的String array,我知道我能做到这一点从array.xml这样的code:

ArrayAdapter<CharSequence> gameKindArray = ArrayAdapter.createFromResource(view.getContext(),R.array.game_kind, android.R.layout.simple_spinner_item);
        gameKindArray.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        gameKind.setAdapter(gameKindArray); 
Run Code Online (Sandbox Code Playgroud)

但是当我有

String[] test=new String[]{"test1","test2"};
Run Code Online (Sandbox Code Playgroud)

如何变更String[]ArrayAdapter?!

string android spinner android-arrayadapter

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

如何在自定义对象的android中使用ArrayAdapter

如何在Listview中使用自定义对象的属性.如果我使用字符串列表实现ArrayAdapter,它在Listview中显示正常,但是当我使用自定义对象列表时,它只输出内存地址.

我到目前为止的代码:

ArrayList<CustomObject> allObjects = new ArrayList<>();

allObjects.add("title", "http://url.com"));


  ArrayAdapter<NewsObject> adapter = new ArrayAdapter<NewsObject>(this,
                android.R.layout.simple_list_item_1, android.R.id.text1, allNews);


        // Assign adapter to ListView
        listView.setAdapter(adapter);


        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                Uri uri = Uri.parse( "http://www.google.com" );
                startActivity(new Intent(Intent.ACTION_VIEW, uri));
            }
        });
Run Code Online (Sandbox Code Playgroud)

这里有一个类似的问题,但这不是我需要的,因为我只需要在列表视图中显示标题,然后点击提取网址.

android android-arrayadapter

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

在listview中使用包含更多视图的数组适配器

我偶然发现了一个我无法理解的问题,所以我希望也许有人遇到同样的问题,或者知道解决问题的好方法.

我创建了一个包含ListView的视图.这个ListView包含两个TextView.问题是我不知道在哪里使用ArrayAdapter发送第二个文本视图中的值.有没有办法向ArrayAdapter发送更多信息,以便我可以提供"todaysmenu"TextView?

ArrayAdapter方法:

private void createList() {
    ListView lv = (ListView) findViewById(R.id.mylist);
    String[] values = new String[] { "Android", "Linux", "OSX", 
            "WebOS", "Windows7", "Ubuntu", "OS/2"
    };
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.rowlayout, R.id.restaurantname, values);
    lv.setAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)

行标记:

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

    <TextView
        android:id="@+id/restaurantname"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@+id/restaurantname"
        android:textSize="23dp" >

    </TextView>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@+id/todaysmenu" />

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

活动布局:

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

    <ListView
    android:id="@+id/mylist"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    </ListView>


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

一开始我把一切都搞定了,但是当我添加第二个文本域问题时.提前谢谢你的帮助!

android android-arrayadapter android-listview

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

更改了arraylist时,ArrayList和ListView的Android数组适配器不会更新

我有一个Android应用程序,其屏幕包含一个ListView,我用它来显示设备列表.这些设备保存在一个阵列中.

我正在尝试使用ArrayAdapter在列表中的屏幕上显示数组中的内容.

它在我第一次加载SetupActivity类时有效,但是,可以在addDevice()方法中添加新设备,这意味着更新了保存设备的阵列.

我正在使用notifyDataSetChanged(),它应该更新列表,但它似乎不起作用.

public class SetupActivity extends Activity
{   
    private ArrayList<Device> deviceList;

    private ArrayAdapter<Device> arrayAdapter;

    private ListView listView;

    private DevicesAdapter devicesAdapter;

    private Context context;

    public void onCreate(Bundle savedInstanceState)  //Method run when the activity is created
    {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.setup);  //Set the layout

        context = getApplicationContext();  //Get the screen

        listView = (ListView)findViewById(R.id.listView);

        deviceList = new ArrayList<Device>();

        deviceList = populateDeviceList();  //Get all the devices into the list

        arrayAdapter = new ArrayAdapter<Device>(this, android.R.layout.simple_list_item_1, deviceList);

        listView.setAdapter(arrayAdapter);  
    }

    protected …
Run Code Online (Sandbox Code Playgroud)

java android android-arrayadapter android-listview android-activity

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

如何从自定义ArrayAdapter调用main活动的功能?

我看了很多类似的问题,似乎无法发挥作用.我有一个带有这样功能的主类,编辑显示一个对话框,然后在按下按钮时编辑一个List.

public class EditPlayers extends SherlockFragmentActivity {

    listPlayerNames.setAdapter(new EditPlayerAdapter(ctx,
                R.layout.score_row_edit_player, listScoreEdit));

public void deletePlayer(final int position) {
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(
            EditPlayers.this);

    // Setting Dialog Title
    alertDialog.setTitle("Delete Player");

    // Setting Dialog Message
    alertDialog.setMessage("Are you sure?");

    // Setting Delete Button
    alertDialog.setPositiveButton("Delete",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    listScoreEdit.remove(position);
                    updateListView();
                }
            });

    // Setting Cancel Button
    alertDialog.setNeutralButton("Cancel",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    dialog.cancel();
                }
            });

    // Showing Alert Message
    alertDialog.show();
}

} …
Run Code Online (Sandbox Code Playgroud)

java android android-arrayadapter

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