我想custom adapter为我的列表视图创建一个.是否有任何文章可以指导我如何创建一个并解释它是如何工作的?
请尝试在我的listview上实现过滤器.但是每当文本改变时,列表就会消失.请帮助这是我的代码.适配器类.
package com.talagbe.schymn;
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class HymnsAdapter extends ArrayAdapter<Hymns> {
ArrayList<Hymns> hymnarray;
Context context;
LayoutInflater inflater;
int Resource;
public HymnsAdapter(Context context, int resource, ArrayList<Hymns> objects) {
super(context, resource, objects);
// TODO Auto-generated constructor stub
hymnarray=objects;
Resource= resource;
this.context=context;
inflater= (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView==null){
convertView= inflater.inflate(Resource,null);
holder= new ViewHolder();
holder.hymntitle= (TextView) …Run Code Online (Sandbox Code Playgroud) 我创建了一个包含多个项目的列表视图.我上面还创建了一个搜索框.我想根据列表的特定字段实现搜索功能.我怎样才能做到这一点?任何帮助将不胜感激.
我正在使用Android的新RecyclerView,但每当我调用其中一个"notify"方法时,我都无法刷新我的自定义适配器.
我试过调用notifyDataSetChanged,notifyItemRangeInserted和notifyItemInserted,但它们似乎都没有工作.
这是我的自定义适配器的代码.我基本上试图刷新一个字符串列表:
package com.mycompany.myapp.adapters;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.mycompany.myapp.R;
import java.util.List;
public class FeedAdapter extends RecyclerView.Adapter<FeedAdapter.ViewHolder> {
private List<String> mDataset;
public FeedAdapter(List<String> dataset) {
super();
mDataset = dataset;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int i) {
LinearLayout v = (LinearLayout) LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_item_feed, parent, false);
v.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.setText(mDataset.get(position));
}
@Override
public int getItemCount() {
return mDataset.size();
} …Run Code Online (Sandbox Code Playgroud) android custom-adapter android-support-library android-recyclerview
我有一个带有ListView的Android应用程序,ListView将设置正常,但现在我希望ListView中的图像可以点击.我通过使用2个类,Activity类(父)和ArrayAdapter来填充列表.在ArrayAdapter中,我为列表中我想要点击的图像实现了一个OnClickListener.
到目前为止一切都有效.
但是现在我想在活动类中运行一个函数,当onClick(对于列表中的图像)运行但我不知道如何.以下是我使用的2个类.
首先是Activity类:
public class parent_class extends Activity implements OnClickListener, OnItemClickListener
{
child_class_list myList;
ListView myListView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// setup the Homelist data
myList = new child_class_list (this, Group_Names, Group_Dates);
myListView = (ListView) findViewById(R.id.list);
// set the HomeList
myListView.setAdapter( myList );
myListView.setOnItemClickListener(this);
}
void function_to_run()
{
// I want to run this function from the LiscView Onclick
}
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
// do something
} …Run Code Online (Sandbox Code Playgroud) 我在布局中使用带有自定义适配器的listview.现在我试图将包含列表的布局带到我的alertdialog.我尝试将不包含列表的简单布局带到此代码的警告对话框,并且它运行良好.但我无法将包含布局的列表带入alertdialog.
AlertDialog.Builder dialog = new AlertDialog.Builder( this );
dialog.setView( getLayoutInflater().inflate( R.layout.smill, null ) );
dialog.setIcon(R.drawable.androidsmile);
dialog.setInverseBackgroundForced(true);
dialog.setTitle( "Select smiley");
dialog.setPositiveButton( "Cancel", null );
dialog.show();
Run Code Online (Sandbox Code Playgroud) 我被困了,我需要帮助.我正在尝试使用set并获取Tag但我无法了解它对此操作的工作原理:
自定义适配器
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
LayoutInflater mInflater = (LayoutInflater)
context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.itemstartsession, null);
holder = new ViewHolder();
holder.image = (WebView)convertView.findViewById(R.id.img_session);
//holder.image.setTag(position);
holder.code = (TextView)convertView.findViewById(R.id.code_item_session_text);
//holder.code.setTag(position);
holder.share=(ImageButton)convertView.findViewById(R.id.share_item_session_button);
holder.share.setTag(position);
convertView.setTag(holder);
// Check if my setTag is ok for button and get the reference to get
//text from textview and the referece to webview, then I gonna load a …Run Code Online (Sandbox Code Playgroud) 我正在使用自定义适配器与AutoCompleteTextView.它在模拟器和我的平板电脑上工作正常.但是,我的手机在横向模式下出现问题.在此模式下显示的自动完成提示是对象信息而不是文本.但是,当我选择任何项目时,字段会在相应字段中正确填充文本.
基于Android Stock Array Adapter的其他字段的自动完成工作正常.
我必须在自定义适配器中为此做些什么吗?我在SO上只看到了一个类似的问题.对该问题的一个回答是讨论覆盖toString方法,但我无法理解它在我的代码中实现.
任何指导将不胜感激?如果您需要更多信息,请与我们联系.
编辑:添加了我的自定义适配器源代码....
public class Part_Mstr_Info
{
private long part_id;
private String name, desg, org, dept;
public Part_Mstr_Info(long part_id, String name, String desg, String org, String dept)
{
this.part_id = part_id;
this.name = name;
this.desg = desg;
this.org = org;
this.dept = dept;
}
public long get_part_id() { return part_id; }
public String get_name() { return name; }
public String get_desg() { return desg; }
public String get_org() { return org; }
public String get_dept() …Run Code Online (Sandbox Code Playgroud) 对于另一个活动中的另一个listView,项目的文本颜色是黑色的,就像它应该的那样.但是,在另一个活动中,当新项目创建时,在新线程中使用setAdapter时,如果我想要黑色,则文本颜色为白色.以下是Layout和Java代码的内容:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="project.yemeb.Search"
android:background="#ffffffff">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="100dp"
android:background="@drawable/back_web"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:id="@+id/relativeLayout"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Search"
android:id="@+id/button2"
android:background="#ffffffff"
android:onClick="onBtnClick"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_alignBottom="@+id/button2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="#ffffffff"
android:layout_toLeftOf="@+id/button2"
android:layout_toStartOf="@+id/button2"
android:layout_alignTop="@+id/button2" />
</RelativeLayout>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_alignParentBottom="true"
android:layout_below="@+id/relativeLayout"
android:headerDividersEnabled="false" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
Java代码:
package project.yemeb;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus; …Run Code Online (Sandbox Code Playgroud) 我做了很多工作来创建**N级expandableListView.我能够达到任何级别,但我的要求是即使在滚动后仍保持打开组的状态.我试过多种方式,但仍然不成功.
此可扩展列表视图符合此问题以外的所有公司要求.
*这是我试过的一种方式.我能够保存对象中的状态,但是没有显示很少的子组.*
我尝试使用onMeasure(宽度,高度)方法来保持动态生成列表时的高度,但仍未能完美.
我也经历过一些同样的文章.
附上我的工作应用程序的屏幕截图..
这是我的代码.
public class ParentLevelAdapter extends BaseExpandableListAdapter {
private Context context;
private View convertView;
Account account;
private ArrayList<Model_Departments> list_departments;
public ParentLevelAdapter (Context context,
ArrayList<Model_Departments> list_departments, Account account) {
this.context = context;
this.list_departments = list_departments;
this.account = account;
}
public void updateList(Context context,
ArrayList<Model_Departments> list_departments, Account account) {
notifyDataSetChanged();
}
@Override
public Object getChild(int arg0, int arg1) {
return this.getChild(arg0, arg1);
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public View …Run Code Online (Sandbox Code Playgroud) android expandablelistview expandablelistadapter android-listview custom-adapter
android ×10
custom-adapter ×10
listview ×5
baseadapter ×1
hints ×1
items ×1
onclick ×1
search ×1
tags ×1