类android.widget.Adapter源码实例Demo

下面列出了怎么用android.widget.Adapter的API类实例代码及写法,或者点击链接到github查看源代码。

private boolean isFirstItemVisible() {
    final Adapter adapter = mRefreshableView.getAdapter();

    if(null == adapter || adapter.isEmpty()) {
        return true;

    } else {

        /**
         * This check should really just be: mRefreshableView.getFirstVisiblePosition() == 0, but PtRListView internally use a
         * HeaderView which messes the positions up. For now we'll just add one to account for it and rely on the inner
         * condition which checks getTop().
         */
        if(mRefreshableView.getFirstVisiblePosition() <= 1) {
            final View firstVisibleChild = mRefreshableView.getChildAt(0);
            if(firstVisibleChild != null) {
                return firstVisibleChild.getTop() >= mRefreshableView.getTop();
            }
        }
    }

    return false;
}
 
源代码2 项目: UltimateAndroid   文件: DraggableGridViewPager.java
public void setAdapter(Adapter adapter) {
	if (mAdapter != null) {
		mAdapter.unregisterDataSetObserver(mDataSetObserver);
		removeAllViews();
		mCurItem = 0;
		scrollTo(0, 0);
	}
	mAdapter = adapter;
	if (mAdapter != null) {
		mAdapter.registerDataSetObserver(mDataSetObserver);
		for (int i = 0; i < mAdapter.getCount(); i++) {
			final View child = mAdapter.getView(i, null, this);
			addView(child);
		}
	}
}
 
源代码3 项目: android-test   文件: AdapterViewProtocols.java
@Override
public EspressoOptional<AdaptedData> getDataRenderedByView(
    AdapterView<? extends Adapter> adapterView, View descendantView) {
  if (adapterView == descendantView.getParent()) {
    int position = adapterView.getPositionForView(descendantView);
    if (position != AdapterView.INVALID_POSITION) {
      return EspressoOptional.of(
          new AdaptedData.Builder()
              .withDataFunction(
                  new StandardDataFunction(adapterView.getItemAtPosition(position), position))
              .withOpaqueToken(Integer.valueOf(position))
              .build());
    }
  }
  return EspressoOptional.absent();
}
 
源代码4 项目: android-test   文件: AdapterViewTest.java
private static Matcher<View> withAdaptedData(final Matcher<Object> dataMatcher) {
  return new TypeSafeMatcher<View>() {

    @Override
    public void describeTo(Description description) {
      description.appendText("with class name: ");
      dataMatcher.describeTo(description);
    }

    @Override
    public boolean matchesSafely(View view) {
      if (!(view instanceof AdapterView)) {
        return false;
      }
      @SuppressWarnings("rawtypes")
      Adapter adapter = ((AdapterView) view).getAdapter();
      for (int i = 0; i < adapter.getCount(); i++) {
        if (dataMatcher.matches(adapter.getItem(i))) {
          return true;
        }
      }
      return false;
    }
  };
}
 
源代码5 项目: YiBo   文件: DirectMessagesItemClickListener.java
@SuppressWarnings("unchecked")
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
		long id) {
	Adapter adapter = parent.getAdapter();
	message = (DirectMessage)adapter.getItem(position);
       if (message == null 
       	|| (message instanceof LocalDirectMessage
       		&& ((LocalDirectMessage)message).isDivider())) {
       	return;
       }

       if (adapter instanceof HeaderViewListAdapter) {
       	adapter = ((HeaderViewListAdapter)adapter).getWrappedAdapter();
       }
	CacheAdapter<DirectMessage> cacheAdapter = (CacheAdapter<DirectMessage>)adapter;

       Dialog dialog = onCreateDialog(cacheAdapter, position);
       if (dialog != null) {
       	dialog.show();
       }
}
 
源代码6 项目: UltimateAndroid   文件: DraggableGridViewPager.java
public void setAdapter(Adapter adapter) {
	if (mAdapter != null) {
		mAdapter.unregisterDataSetObserver(mDataSetObserver);
		removeAllViews();
		mCurItem = 0;
		scrollTo(0, 0);
	}
	mAdapter = adapter;
	if (mAdapter != null) {
		mAdapter.registerDataSetObserver(mDataSetObserver);
		for (int i = 0; i < mAdapter.getCount(); i++) {
			final View child = mAdapter.getView(i, null, this);
			addView(child);
		}
	}
}
 
源代码7 项目: SSForms   文件: StarkSpinner.java
public void setSelectedItem(int position) {
    Adapter adapter = mSpinnerListView.getAdapter();
    if (adapter instanceof ISpinnerSelectedView) {
        View selectedView = ((ISpinnerSelectedView) adapter).getSelectedView(position);
        mCurrSelectedView = new SelectedView(selectedView, position, selectedView.getId());
        mSpinnerListView.setSelection(position);
    } else {
        TextView textView = new TextView(mContext);
        textView.setText(mRevealEmptyText);
        mCurrSelectedView = new SelectedView(textView, -1, 0);
        mRevealItem.addView(textView);
    }
    if (mCurrSelectedView == null) {
        if (mOnItemSelected != null)
            mOnItemSelected.onNothingSelected();
    } else if (mCurrSelectedView != null) {
        mRevealItem.removeAllViews();
        mSpinnerListView.removeViewInLayout(mCurrSelectedView.getView());
        mRevealItem.addView(mCurrSelectedView.getView());
        ((BaseAdapter) mSpinnerListView.getAdapter()).notifyDataSetChanged();
        if (mOnItemSelected != null)
            mOnItemSelected.onItemSelected(mCurrSelectedView.getView(), mCurrSelectedView.getPosition(), mCurrSelectedView.getId());
    }
    hideEdit();
}
 
源代码8 项目: RoMote   文件: SeparatedListAdapter.java
public int getItemViewType(int position) {
    int type = 1;
    for(Object section : this.sections.keySet()) {
        Adapter adapter = sections.get(section);
        int size = adapter.getCount() + 1;

        // check if position inside this section
        if(position == 0) return TYPE_SECTION_HEADER;
        if(position < size) return type + adapter.getItemViewType(position - 1);

        // otherwise jump into next section
        position -= size;
        type += adapter.getViewTypeCount();
    }
    return -1;
}
 
源代码9 项目: open-rmbt   文件: SectionListAdapter.java
public Adapter getAdapter(int position)
{
    for (final Adapter adapter : sectionMap.values())
    {
        final int size = adapter.getCount() + (hasSectionHeader ? 1 : 0);
        
        if (position == 0 && hasSectionHeader)
            return null;
        
        if (position < size)
            return adapter;
        
        position -= size;
    }
    
    return null;
}
 
源代码10 项目: sensordatacollector   文件: SeparatedListAdapter.java
@Override
public int getItemViewType(int position)
{
    int type = 1;
    for(String section : this.sections.keySet()) {
        Adapter adapter = sections.get(section);
        int size = adapter.getCount() + 1;

        // check if position inside this section
        if(position == 0)
            return TYPE_SECTION_HEADER;
        if(position < size)
            return type + adapter.getItemViewType(position - 1);

        // otherwise jump into next section
        position -= size;
        type += adapter.getViewTypeCount();
    }
    return -1;
}
 
源代码11 项目: o2oa   文件: SwipeLayout.java
/**
 * if working in {@link android.widget.AdapterView}, we should response
 * {@link android.widget.Adapter} isEnable(int position).
 *
 * @return true when item is enabled, else disabled.
 */
private boolean isEnabledInAdapterView() {
    AdapterView adapterView = getAdapterView();
    boolean enable = true;
    if (adapterView != null) {
        Adapter adapter = adapterView.getAdapter();
        if (adapter != null) {
            int p = adapterView.getPositionForView(SwipeLayout.this);
            if (adapter instanceof BaseAdapter) {
                enable = ((BaseAdapter) adapter).isEnabled(p);
            } else if (adapter instanceof ListAdapter) {
                enable = ((ListAdapter) adapter).isEnabled(p);
            }
        }
    }
    return enable;
}
 
private void updateNote(){
    Adapter a = lvItemList.getAdapter();
    JSONArray jsonArray = new JSONArray();

    try {
        CheckListItem temp;
        for (int i = 0; i < itemNamesList.size(); i++) {
            temp = (CheckListItem) a.getItem(i);
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("name", temp.getName());
            jsonObject.put("checked", temp.isChecked());
            jsonArray.put(jsonObject);
        }
        fillNameIfEmpty();
        DbAccess.updateNote(getBaseContext(), id, etName.getText().toString(), jsonArray.toString(), currentCat);
        Toast.makeText(getApplicationContext(), R.string.toast_updated, Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
源代码13 项目: YiBo   文件: ConversationItemClickListener.java
@SuppressWarnings("unchecked")
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
		long id) {
	Adapter adapter = parent.getAdapter();
	message = (DirectMessage)adapter.getItem(position);
       if (message == null 
       	|| (message instanceof LocalDirectMessage
       		&& ((LocalDirectMessage)message).isDivider())) {
       	return;
       }

       if (adapter instanceof HeaderViewListAdapter) {
       	adapter = ((HeaderViewListAdapter)adapter).getWrappedAdapter();
       }
	CacheAdapter<DirectMessage> cacheAdapter = (CacheAdapter<DirectMessage>)adapter;

       Dialog dialog = onCreateDialog(cacheAdapter, position);
       if (dialog != null) {
       	dialog.show();
       }
}
 
源代码14 项目: android-project-wo2b   文件: BaikeFragment.java
@Override
protected void bindEvents()
{
	listView.setOnItemClickListener(new OnItemClickListener()
	{

		@Override
		public void onItemClick(Adapter adapter, View view, int position, long id)
		{
			Intent intent = new Intent(getContext(), ImageGridActivity.class);
			intent.putExtra(RockyIntent.EXTRA_ALBUM, (AlbumInfo) adapter.getItem(position));
			startActivity(intent);
		}

	});

	warning_close.setOnClickListener(this);
}
 
源代码15 项目: sensordatacollector   文件: SeparatedListAdapter.java
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
    int sectionnum = 0;
    for(String section : this.sections.keySet()) {
        Adapter adapter = sections.get(section);
        int size = adapter.getCount() + 1;

        // check if position inside this section
        if(position == 0)
            return headers.getView(sectionnum, convertView, parent);
        if(position < size)
            return adapter.getView(position - 1, convertView, parent);

        // otherwise jump into next section
        position -= size;
        sectionnum++;
    }
    return null;
}
 
private void saveNote(){
    Adapter a = lvItemList.getAdapter();
    JSONArray jsonArray = new JSONArray();
    try {
        CheckListItem temp;
        for (int i = 0; i < itemNamesList.size(); i++) {
            temp = (CheckListItem) a.getItem(i);
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("name", temp.getName());
            jsonObject.put("checked", temp.isChecked());
            jsonArray.put(jsonObject);
        }
        fillNameIfEmpty();
        id = DbAccess.addNote(getBaseContext(), etName.getText().toString(), jsonArray.toString(), DbContract.NoteEntry.TYPE_CHECKLIST, currentCat);
        Toast.makeText(getApplicationContext(), R.string.toast_saved, Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
源代码17 项目: FreezeYou   文件: ShortcutLauncherFolderActivity.java
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {

    if ("pkgS".equals(key)) {
        final GridView slf_apps_gridView = findViewById(R.id.slf_apps_gridView);
        if (slf_apps_gridView != null) {
            Adapter adapter = slf_apps_gridView.getAdapter();
            if (adapter instanceof ReplaceableSimpleAdapter) {
                final ArrayList<Map<String, Object>> folderItems = new ArrayList<>();
                generateFolderItems(folderItems, sharedPreferences);
                ((ReplaceableSimpleAdapter) adapter).replaceAllInFormerArrayList(folderItems);
            }
        }
    } else if ("folderName".equals(key)) {
        final TextView slf_folderName_textView = findViewById(R.id.slf_folderName_textView);
        if (slf_folderName_textView != null) {
            slf_folderName_textView.setText(sharedPreferences.getString("folderName", getString(R.string.folder)));
        }
    }
}
 
源代码18 项目: YiBo   文件: AdapterUtil.java
public static BaseListAdapter<?> getBaseListAdapter(Adapter adapter) {
	if (adapter == null) {
		return null;
	}
	
	BaseListAdapter<?> baseListAdapter = null;
	if (adapter instanceof BaseListAdapter<?>) {
        baseListAdapter = (BaseListAdapter<?>)adapter;
	} else if (adapter instanceof HeaderViewListAdapter) {
		HeaderViewListAdapter headerViewAdapter = (HeaderViewListAdapter)adapter;
		if (headerViewAdapter.getWrappedAdapter() instanceof BaseListAdapter<?>) {
			baseListAdapter = (BaseListAdapter<?>)headerViewAdapter.getWrappedAdapter();
		}
	}
	
	return baseListAdapter;
}
 
@Override
public void onItemSelected(AdapterView<?> parent, View view,
		int position, long id) {
	Adapter adapter = parent.getAdapter();
	Authorization auth = context.getAuth();
	if (auth == null) {
		Logger.error("auth can't be null");
		return;
	}
	
	ConfigApp configApp = (ConfigApp)adapter.getItem(position);		
	if (configApp.getAppId() == -2l) {
		Intent intent = new Intent();
		intent.setClass(context, AddConfigAppActivity.class);
		intent.putExtra("spNo", auth.getServiceProvider().getSpNo());
		context.startActivityForResult(intent, Constants.REQUEST_CODE_CONFIG_APP_ADD);
		return;
	}
	
	OAuthConfig oauthConfig = auth.getoAuthConfig();
	oauthConfig.setConsumerKey(configApp.getAppKey());
	oauthConfig.setConsumerSecret(configApp.getAppSecret());
	oauthConfig.setCallbackUrl(configApp.getCallbackUrl());
	Logger.debug("callback:{}", oauthConfig.getCallbackUrl());
}
 
源代码20 项目: open-rmbt   文件: SectionListAdapter.java
@Override
public int getItemViewType(int position)
{
    int type = 1;
    
    for (final Object section : sectionMap.keySet())
    {
        
        final Adapter adapter = sectionMap.get(section);
        final int size = adapter.getCount() + (hasSectionHeader ? 1 : 0);
        
        if (position == 0 && hasSectionHeader)
            return TYPE_SECTION_HEADER;
        
        if (position < size)
            return type + adapter.getItemViewType(position - 1);
        
        position -= size;
        type += adapter.getViewTypeCount();
    }
    
    return -1;
}
 
源代码21 项目: FoldableLayout   文件: FoldableListLayout.java
private void setupAdapterView(FoldableItemLayout layout, int position) {
    // Binding layout to new data
    int type = adapter.getItemViewType(position);

    View recycledView = null;
    if (type != Adapter.IGNORE_ITEM_VIEW_TYPE) {
        Queue<View> cache = recycledViews.get(type);
        recycledView = cache == null ? null : cache.poll();
    }

    View view = adapter.getView(position, recycledView, layout.getBaseLayout());

    if (type != Adapter.IGNORE_ITEM_VIEW_TYPE) {
        viewsTypesMap.put(view, type);
    }

    layout.getBaseLayout().addView(view, PARAMS);
}
 
源代码22 项目: NewXmPluginSDK   文件: ViewFlow.java
public void setAdapter(Adapter adapter, int initialPosition) {
	if (mAdapter != null) {
		mAdapter.unregisterDataSetObserver(mDataSetObserver);
	}

	mAdapter = adapter;

	if (mAdapter != null) {
		mDataSetObserver = new AdapterDataSetObserver();
		mAdapter.registerDataSetObserver(mDataSetObserver);

	}
	if (mAdapter == null || mAdapter.getCount() == 0)
		return;
	
	setSelection(initialPosition);		
}
 
源代码23 项目: KJFrameForAndroid   文件: PullToRefreshList.java
/**
 * 判断第一个child是否完全显示出来
 * 
 * @return true完全显示出来,否则false
 */
private boolean isFirstItemVisible() {
    final Adapter adapter = mfakeListView.getAdapter();

    if (null == adapter || adapter.isEmpty()) {
        return true;
    }

    int mostTop = (mfakeListView.getChildCount() > 0) ? mfakeListView
            .getChildAt(0).getTop() : mfakeListView.getTop();
    if (mostTop >= 0) {
        return true;
    }

    return false;
}
 
private boolean c()
{
    Adapter adapter = ((AbsListView)l).getAdapter();
    if (adapter == null || adapter.isEmpty())
    {
        Log.d("PullToRefresh", "isFirstItemVisible. Empty View.");
        return true;
    }
    if (((AbsListView)l).getFirstVisiblePosition() <= 1)
    {
        View view = ((AbsListView)l).getChildAt(0);
        if (view != null)
        {
            return view.getTop() >= ((AbsListView)l).getTop();
        }
    }
    return false;
}
 
源代码25 项目: YiBo   文件: AdapterUtil.java
public static CacheAdapter<?> getCacheAdapter(Adapter adapter) {
	if (adapter == null) {
		return null;
	}
	CacheAdapter<?> cacheAdapter = null;
	if (adapter instanceof CacheAdapter<?>) {
        cacheAdapter = (CacheAdapter<?>)adapter;
	} else if (adapter instanceof HeaderViewListAdapter) {
		HeaderViewListAdapter headerViewAdapter = (HeaderViewListAdapter)adapter;
		if (headerViewAdapter.getWrappedAdapter() instanceof CacheAdapter<?>) {
			cacheAdapter = (CacheAdapter<?>)headerViewAdapter.getWrappedAdapter();
		}
	}
	
	return cacheAdapter;
}
 
源代码26 项目: UltimateAndroid   文件: FlipViewController.java
public void setAdapter(Adapter adapter, int initialPosition) {
  if (this.adapter != null) {
    this.adapter.unregisterDataSetObserver(adapterDataObserver);
  }

  Assert.assertNotNull("adapter should not be null", adapter);

  this.adapter = adapter;
  adapterDataCount = adapter.getCount();

  adapterDataObserver = new MyDataSetObserver();
  this.adapter.registerDataSetObserver(adapterDataObserver);
  if (adapterDataCount > 0) {
    setSelection(initialPosition);
  }
}
 
源代码27 项目: Mupdf   文件: DocViewBase.java
protected int getPageCount()
{
	Adapter adapter = getAdapter();
	if (null != adapter)
		return adapter.getCount();
	return 0;
}
 
源代码28 项目: COCOFramework   文件: AdapterViewFragment.java
/**
 * notifiy adapter to update
 */
protected void updateAdapter() {
    Adapter adapter = mListContainer.getAdapter();
    if (adapter instanceof HeaderFooterListAdapter) {
        ((HeaderFooterListAdapter) adapter).getWrappedAdapter().notifyDataSetChanged();
        return;
    }
    if (adapter instanceof BaseAdapter) {
        ((BaseAdapter) adapter).notifyDataSetChanged();
    }
}
 
源代码29 项目: android-tv-launcher   文件: AdapterView.java
public Object getSelectedItem() {
	Adapter localAdapter = getAdapter();
	int i = getSelectedItemPosition();
	if ((localAdapter != null) && (localAdapter.getCount() > 0) && (i >= 0))
		return localAdapter.getItem(i);
	return null;
}
 
源代码30 项目: BatteryFu   文件: SeparatedListAdapter.java
public int getCount() {
    // total together all sections, plus one for each section header
    int total = 0;
    for (Adapter adapter : this.sections.values())
        total += adapter.getCount() + 1;
    return total;
}
 
 类所在包
 同包方法