我正在尝试Gallery使用一个小部件HorizontalScrollView,所以在HorizontalScrollView我添加ImageView的内部,问题是我将添加600多个图像!
我是否可以制作某种自定义适配器以覆盖该GetView方法并使用convertView以使应用更流畅并避免同时添加600多个视图?
我想获得一个列表标题,当我在主页上键入Edittext然后在单击"确定"按钮后添加到列表中时,我想要的是什么.现在我不知道从主页Activity上的customAdapter类调用我的刷新方法的位置.
请查看我的HomePage活动:
public class Main_Activity extends Activity implements OnClickListener {
Button ok;
EditText addTasklist;
ListView list_tasklistname;
TodoTask_Database db;
CustomAdapter cAdapter;
List<Tasks> list = new ArrayList<Tasks>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
ok = (Button)findViewById(R.id.add);
ok.setOnClickListener(this);
list_tasklistname = (ListView)findViewById(R.id.listview);
db = new TodoTask_Database(getApplicationContext());
list = db.getAllTaskList();
CustomAdapter adapter = new CustomAdapter(Main_Activity.this, R.layout.tasklist_row, list);
list_tasklistname.setAdapter(adapter);
/*list_tasklistname.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int position,
long id) {
}
});*/
db.close();
}
}
@Override
public void onClick(View v) …Run Code Online (Sandbox Code Playgroud) android android-arrayadapter android-listview custom-adapter
使用Chris Banes的PullToRefresh库,我的自定义适配器的getView()方法没有被调用.这段代码工作正常,不使用他的库,并调用getView().我一直在调查这几天,无法弄清楚出了什么问题.任何反馈将不胜感激!
MyActivity.java
MyAdapter adapter = new MyAdapter(this, data);
// the following toast displays the correct count
Toast.makeText("MyActivity", adapter.getCount(), Toast.LENGTH_SHORT).show();
myListView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
MyAdapter.java
public class MyAdapter extends ArrayAdapter<Object> {
private ArrayList<Object> data;
private LayoutInflater vi;
private Context context;
public MyAdapter(Context context, ArrayList<Object> data) {
super(context, 0);
this.context = context;
this.data = data;
this.vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
static class ViewHolder {
...
}
@Override
public int getCount() {
return data.size();
}
@Override
public long getItemId(int position) {
return …Run Code Online (Sandbox Code Playgroud) android android-arrayadapter android-listview custom-adapter pull-to-refresh
这适用于onCreate的活动
String htmlstring="<p><em><strong>hello world</strong></em></p>";
tv.setText(Html.fromHtml(html));
Run Code Online (Sandbox Code Playgroud)
但是当我在listview中使用相同的服务器时,它无法正常工作
ViewHolder holder = new ViewHolder();
holder.quest = (TextView) vi.findViewById(R.id.question_data);
holder.quest.setText(Html.fromHtml(htmlstring));
Run Code Online (Sandbox Code Playgroud)
怎么了!我怎么能实现这个目标?
我不会有什么问题。没有任何错误,程序运行完美。但是,当我单击列表视图中的一个项目时,它不会执行任何操作。换句话说,“吐司”不会通过
这是我的主要课程:
public class ViewListAct extends ActionBarActivity {
private ListView list;
private final String[] names_1 = {"McDonald's", "Subway", "Pizza Hut", "Burger King"};
private final String[] img_1 = {"mcd", "mcd", "mcd", "mcd"};
private Activity context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_list);
list = (ListView) findViewById(R.id.listview);
AdapterView adapter = new AdapterView(this, img_1, names_1);
list.setAdapter(adapter);
list.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(android.widget.AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(), names_1[position], Toast.LENGTH_LONG).show();
}
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的自定义适配器类:
public class AdapterView extends …Run Code Online (Sandbox Code Playgroud) 我为listview创建了一个customadapter,但由于某种原因,getView方法的参数"position"始终为0,这使得该方法毫无用处.
这是我的customAdapter的代码,扩展了BaseAdapter:
public class CreateProgramAdapter extends BaseAdapter {
private LayoutInflater inflater;
private ArrayList<TrainingPass> trainingPasses;
private List<TrainingPass> items;
private Context context;
public CreateProgramAdapter(Context context, List<TrainingPass> items) {
this.context = context;
this.items = items;
this.inflater = LayoutInflater.from(this.context);
}
@Override
public int getCount() {
return items.size();
}
@Override
public TrainingPass getItem(int position) {
return items.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view;
TrainingPassHolder holder;
if(convertView == null) { …Run Code Online (Sandbox Code Playgroud) 我在微调框中有7个项目.我创建了带有textview和复选框的微调框.我想做以下逻辑.
能否请你给我任何建议:
private static final String[] select_qualification = {
"Select Qualification", "10th / Below", "12th", "Diploma", "UG",
"PG", "Phd" };
Run Code Online (Sandbox Code Playgroud)
如果我将检查UG复选框,它会自动选中状态的复选框10th/Below,12th,Diploma还取消复选框的选中状态PG和phd.
如果选中任何复选框,则表示上一项复选框自动需要选中状态,下一项复选框自动需要取消选中状态.
现在这是我的适配器文件:
public class CustomAdapter extends ArrayAdapter<String> {
public CustomAdapter(Context context, int resourceId, String[] objects) {
super(context, resourceId, objects);
// TODO Auto-generated constructor stub
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
return getCustomView(position, convertView, parent);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) …Run Code Online (Sandbox Code Playgroud) checkbox android custom-adapter android-spinner android-activity
请原谅我的英语。
我的清单包含 100 项。每个项目由两个复选框组成,每次单击复选框时我都想滚动到下一个项目。
请给我最佳答案链接 如果这个问题已经被回答
这是我的自定义适配器
public class CustomAdapter extends
RecyclerView.Adapter<CustomAdapter.MyViewHolder> {
private ArrayList answerFirst;
private ArrayList answerSecond;
private Context context;
public CustomAdapter(Context context, ArrayList questionList, ArrayList
answerFirst, ArrayList answerSecond) {
this.context = context;
this.answerFirst = answerFirst;
this.answerSecond = answerSecond;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v =
LayoutInflater.from(parent.getContext()).inflate(R.layout.test_items,
parent, false);
return new MyViewHolder(v);
}
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position)
{
holder.firstanswer.setText(answerFirst.get(position).toString());
holder.secondanswer.setText(answerSecond.get(position).toString());
}
@Override
public int getItemCount() {
return questionList.size(); …Run Code Online (Sandbox Code Playgroud) android custom-adapter android-viewholder android-recyclerview
我正在尝试创建一个自定义列表适配器,其中包含需要从Internet下载的每个项目的图像.当我第一次进入活动时 - 应用程序冻结一段时间,直到下载图像,然后加载活动列表.
我可以看出,在活动加载之前正在下载图像.如何在活动加载后下载图像.我想我需要使用Async Task.但由于我在自定义阵列适配器中加载图像,因此不确定如何操作.
这是我的自定义适配器getView():
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi;
vi = LayoutInflater.from(getContext());
v = vi.inflate(R.layout.list_item_default, null);
}
Item p = items.get(position);
if (p != null) {
TextView list_title = (TextView) v.findViewById(R.id.list_title);
TextView list_description = (TextView) v
.findViewById(R.id.list_description);
TextView list_timestamp = (TextView) v
.findViewById(R.id.list_timestamp);
ImageView list_image = (ImageView) v.findViewById(R.id.list_image);
if (list_title != null) {
list_title.setText(p.getItemTitle());
}
if (list_description != null) {
list_description.setText(p.getItemDescription()); …Run Code Online (Sandbox Code Playgroud) 我对android有点新,我正试图弄清楚这些自定义列表适配器.所以我有一个扩展BaseListActivity的活动和一个类似的函数:
public void inflate(){
ArrayList<String> words = new ArrayList<String>();
orders.add("hello");
orders.add("world");
wordsList = (ListView) findViewById(R.id.list);
WordsAdapter adapter = new WordsAdapter(this, R.layout.single_word_container_item,words);
wordsList.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
然后我按如下方式实现我的自定义WordsAdapter:
public class WordsAdapter extends ArrayAdapter<String>{
public Context context;
public ArrayList<String> _words;
//not sure the purpose of 'a' here
public WordsAdapter(Context context, int a, ArrayList<String> words) {
super(context, a, words);
_words = words;
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.single_word_container_item, null);
TextView …Run Code Online (Sandbox Code Playgroud) android ×10
custom-adapter ×10
baseadapter ×1
checkbox ×1
getview ×1
html ×1
java ×1
listadapter ×1
listview ×1