我有一个自定义网格视图的代码,每次我尝试运行它时,它都会因OutOfMemoryException. 我想解决方案是调整数组中的图像大小...
主要活动代码:
public class AndroidGridLayoutActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.grid_layout);
GridView gridView = (GridView) findViewById(R.id.grid_view);
// Instance of ImageAdapter Class
gridView.setAdapter(new ImageAdapter(this));
/**
* On Click event for Single Gridview Item
* */
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
// Sending image id to FullScreenActivity
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
// passing array index
i.putExtra("id", position);
startActivity(i);
}
});
} …Run Code Online (Sandbox Code Playgroud) 
在我的应用程序中,我有一个列表视图。当我要显示一个以上的项目时,所有事情都可以正常工作,但是当我在列表视图中显示一个项目时,它却显示出一种罕见的行为。
第一:如果单个项目的高度大于窗口高度...它就像一个饰物并正常工作。
第二:如果单个项目的高度小于窗口高度...有时会显示项目(B),有时却不显示!(C)。
第三:我正在使用支持库中的SwipeRefreshLayout,当我尝试刷新listview时,如果listview中有一项...如果高度小于窗口高度,则不会显示该项目。
我不知道了!有谁能够帮助我
我知道这个问题与SwipeRefreshLayout或Listview的高度有关,导致当我将marginTop设置为该视图(作为屏幕高度的一半)时,listview可以正常工作。
我的xml文件是:
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_Container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="0dp"
android:background="#FFedf1f2"
android:paddingLeft="8.5dp"
android:paddingRight="8.5dp"
android:paddingTop="0dp" >
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:divider="@android:color/transparent"
android:dividerHeight="8.5dp"
android:scrollbars="none" >
</ListView>
Run Code Online (Sandbox Code Playgroud)
在我至少要在列表视图中显示一个以上的项目之前,所有内容都是一种魅力。但是当我要在列表视图中显示一个项目时,我的列表视图不显示任何内容:(
为什么?我的错在哪里?我哪里错了?
这是getView()我的适配器(扩展BaseAdapter-我已经剪掉了几行代码):
public View getView(int position, View convertView, ViewGroup parent) {
Typeface MyriadRegular = Farsi.GetMyriadRegular(mActivity);
Typeface MyriadBold = Farsi.GetMyriadBold(mActivity);
Typeface Yagut = Farsi.GetYagut(mActivity);
Typeface JalalBold = Farsi.GetJalalBold(mActivity);
User_Session = new SessionManagement(mActivity);
View row = convertView;
ViewHolder holder;
mVideo = mData.get(position);
//======================================================================== USER
USERNAME = mVideo.get("USERNAME").toUpperCase();
CHANNEL_NAME = mVideo.get("CHANNEL_NAME");
CHANNEL_ID = …Run Code Online (Sandbox Code Playgroud) android listview android-listview baseadapter custom-adapter
我正在开发具有自定义布局列表视图如下应用:
它有4个RadioButtons中RadioGroup和TextView.实际上,它将显示为question(TextView)和answers(RadioButtons)列表.上面的视图在我的自定义适配器中膨胀了ArrayAdapter<Question>.
问题是,我应该如何维护RadioButtons我的自定义状态Adapter?当RadioButtonis pressed/checked和list向下滚动时,会adapter自动回收视图并RadioButton丢失状态.
第一条遵循:http: //www.vogella.de/articles/AndroidListView/article.html.
以上链接使用a CheckBox,以类似的方式我想使用RadioGroup(RadioButtons)代替CheckBoxes.
android radio-button android-arrayadapter android-listview custom-adapter
我正在尝试为我的类别列表创建自定义适配器.出于某种原因,当我试图给它充气时,我无法访问我的category_item布局.这是我的代码:
public class CategoryAdapter extends ArrayAdapter<Category> {
LayoutInflater mInflater;
List<Category> list;
public CategoryAdapter(Context context, int resource, int textViewResourceId, List<Category> objects) {
super(context, resource, textViewResourceId, objects);
mInflater = LayoutInflater.from(context);
list = objects;
}
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if(convertView==null){
convertView=mInflater.inflate(***resource***, null);
holder = new ViewHolder();
}
return convertView;
}
// Declaring new class ViewHolder
class ViewHolder{
TextView category_name;
}
Run Code Online (Sandbox Code Playgroud)
它说resource我应该能够访问我的category_item.xml布局 - R.layout.category_item.但由于某些原因我没有在列表中看到它,我无法访问它.事实上,我在列表中看不到任何布局.
为什么会发生这种情况?如何解决?
android android-arrayadapter android-layout layout-inflater custom-adapter
我需要在listview中实现pull刷新和加载.我使用自定义适配器来创建listview.如何实现pull to refresh并使用适配器类加载.
有人能帮助我吗?
我正在设置自定义ListView.
pull-to-refresh功能直接来自https://github.com/chrisbanes/Android-PullToRefresh
ListView显示图像,所以我创建了一个自定义适配器:
class mAdapter extends BaseAdapter{
public mAdapter(Context context){
// nothing to do
}
@Override
public int getCount() {
return mValues.size();
}
@Override
public Object getItem(int position) {
return mValues.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public boolean areAllItemsEnabled()
{
return false;
}
@Override
public boolean isEnabled(int position)
{
return false;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if(v == null){
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); …Run Code Online (Sandbox Code Playgroud) android android-listview android-adapter custom-adapter pull-to-refresh
一切都工作正常,但现在我没有得到正在发生的事情,我有10项目在listView中显示,它的工作正常,直到第6项,然后再次从第一项重复?
public class GroupDetailsAdapter extends BaseAdapter {
List<GetSetGroupDetails> group_details = new ArrayList<GetSetGroupDetails>();
Context context;
Typeface face;
public GroupDetailsAdapter(List<GetSetGroupDetails> group_details,
Context context) {
super();
this.group_details.clear();
this.group_details = group_details;
this.context = context;
face = Typeface.createFromAsset(context.getAssets(),
"HelveticaNeueLTStd-Th.otf");
}
@Override
public int getCount() {
// TODO Auto-generated method stub
int count = group_details.size();
return count;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
} …Run Code Online (Sandbox Code Playgroud) 我有一个工作的导航抽屉,使用文档中ArrayAdapter所示.我想为每个导航抽屉项设置图标,所以我需要创建一个自定义适配器来使用,但我不确定如何做到这一点.我在下面运行而不会崩溃应用程序,但导航抽屉打开空,没有任何内容.你能帮帮我吗?提前致谢!ImageView
到目前为止我为自定义适配器做了什么:
public class CustomAdapter extends ArrayAdapter
{
private final Context context;
public CustomAdapter(Context context)
{
super(context, R.layout.drawer_list_item);
this.context = context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.drawer_list_item, parent, false);
TextView textViewHome = (TextView) v.findViewById(R.id.drawerHomeTextView);
ImageView imageViewHome = (ImageView) v.findViewById(R.id.drawerHomeImage);
TextView textViewList = (TextView) v.findViewById(R.id.drawerListTextView);
ImageView imageViewList = (ImageView) v.findViewById(R.id.drawerListImage);
return v;
}
}
Run Code Online (Sandbox Code Playgroud)
设置抽屉MainActivity:
mDrawerList = (ListView) findViewById(R.id.leftDrawer);
mDrawerList.setAdapter(new CustomAdapter(this)); …Run Code Online (Sandbox Code Playgroud) android android-arrayadapter custom-adapter navigation-drawer
我正在学习butterknife,我需要在我的客户适配器生成的不同视图上绑定特定的@OnClicks.我该如何解决这个问题?
我在其中一个问题中看到了答案,说他在'ViewHolder'中使用'@onclick'.我不确定如何完全实现这一点.有任何想法吗?
谢谢!
当我添加一个新项目时,我正在调用方法
public void addItem(ArrayList<ArrayList<String>> arrayList, int position){
this.arrayList=arrayList;
notifyItemInserted(position);
}
Run Code Online (Sandbox Code Playgroud)
并期望看到添加的项目动画,但只有recyclelerView中的前一项可以动画.我试图改变位置,如(位置+ 1)或(位置-1),但它没有帮助.活动代码:
private void showDialog(final String table_name) {
...
final Cursor c = db.rawQuery("SELECT * FROM '"+table_name+"'",null);
final String mas[]=c.getColumnNames();
c.close();
final List<EditText> list = new ArrayList<>();
for (int m = 1; m < mas.length; m++) {
list.add(new EditText(this));
list.get(m-1).setHint(mas[m]);
linearLayout.addView(list.get(m-1));
}
alert.setView(linearLayout);
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
ArrayList<String> arrayList=new ArrayList<String>();
for (int i=0;i<list.size();i++)
arrayList.add(list.get(i).getText().toString());
try {
arrayList=AESEncryption.encrypt2(arrayList);
ContentValues contentValues=new ContentValues();
for (int i=1;i<mas.length;i++){ …Run Code Online (Sandbox Code Playgroud) android ×10
custom-adapter ×10
listview ×2
animation ×1
baseadapter ×1
butterknife ×1
onclick ×1
radio-button ×1