我在主要活动中有一个自定义BaseAdapter和一个添加按钮.该按钮打开一个带有文本框的对话框,您可以通过该方式向列表中添加新元素.问题是列表没有刷新.在onActivityResult()函数中,我打印列表中的元素数量,每次在对话框中点击"确定"时,数字都会增加,所以我知道这只是刷新不起作用.我的BaseAdapter和我的活动:
class ListaOrase extends BaseAdapter{
private Activity context;
ArrayList<String> orase;
public ListaOrase(Activity context){
this.context=context;
orase=new ArrayList<String>();
}
public void add(String string){
orase.add(string);
this.notifyDataSetChanged();
}
public View getView (int position, View convertView, ViewGroup list) {
View element;
if (convertView == null)
{
LayoutInflater inflater = context.getLayoutInflater();
element = inflater.inflate(R.layout.lista, null);
}
else element = convertView;
TextView elementLista=(TextView)element.findViewById(R.id.elementLista);
elementLista.setText(orase.get(position));
return element;
}
}
public class WeatherAppActivity extends ListActivity {
Button buton;
ListaOrase lista;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lista=new …Run Code Online (Sandbox Code Playgroud) 我把我的android屏幕划分为2个fragements.在第一个我从服务器数据库到android mobile制作一个listview.问题是我不能在基础适配器类中调用getview方法.帮帮我吧
public class MyListFragment1 extends ListFragment {
ImageView back;
String url = Main.url;
String Qrimage;
Bitmap bmp;
ListView list ;
AppetiserFragment adapter;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.applistviewfragment, container, false);
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// back=(ImageView)findViewById(R.id.backfoodmenu);
/*
* back.setOnClickListener(new OnClickListener() {
*
* public void onClick(View v) { // TODO Auto-generated method stub
* Intent intent=new Intent(getApplicationContext(),FoodMenu.class);
* intent.putExtra("url", url); startActivity(intent); …Run Code Online (Sandbox Code Playgroud) 这是我之前的问题的后续跟进:Android:自动完成TextView类似于Facebook应用程序.
的背景:
我在问题中的要求(上面发布的链接)AutoCompleteTextView与Facebook应用程序中使用的类似,其他几个也是如此.解决方案是使用多线路.MultiAutoCompleteTextView这个想法是让用户在创建状态更新时直接输入他们的好友名称.答案中的解决方案从独立的角度来看很好.但是,当我盯着在现有代码中集成解决方案时,它仍然适用于正确的下拉列表等等.感谢来自这里的解决方案,我看到了我朋友的过滤列表:https://stackoverflow.com/a/12363961/1350013.我用一个自定义的ListView一个BaseAdapter,而不是GridView从溶液中.
问题:
我的代码使用了一个BaseAdapter实现Filterable.如上所述,工作正常.
当我从筛选列表中选择一个朋友时,问题出在哪里.的MultiAutoCompleteTextView,选择后,显示此:@MY_PACKAGE_NAME.Friends.getFriends@406c1058而不是朋友的名字.我需要更改什么来显示名称而不是乱码文本?如果它有帮助,那么我在第一类中运行它来扩展a SherlockActivity而不是a SherlockListActivity.
现在我不确定相关代码是什么,以找出问题所在的位置,因此我将尽可能多地发布相关代码.我是一个菜鸟,所以请轻松并要求任何额外的代码.我会及时遵守.同样,如果不需要这里的东西使帖子混乱,我将删除它.
代码块
来自我之前的问题的解决方案中的Tokenizer.链接在顶部(在onCreate()方法中)
editStatusUpdate = (MultiAutoCompleteTextView) findViewById(R.id.editStatusUpdate);
editStatusUpdate.addTextChangedListener(filterTextWatcher);
editStatusUpdate.setTokenizer(new Tokenizer() {
@Override
public CharSequence terminateToken(CharSequence text) {
int i = text.length();
while (i > 0 && text.charAt(i - 1) == ' ') {
i--;
}
if (i > 0 && text.charAt(i - …Run Code Online (Sandbox Code Playgroud) 我用a创建了一个listview BaseAdapter.我想要一些listitems有一个分隔符,但是从一些listitems,我想删除分隔符.我知道你可以通过设置.setDivider(null)和删除整个列表的分隔符.setDividerHeight(0),但是也可以从列表中的单个列表项中删除分隔符吗?
提前致谢!
我想在关闭对话框时刷新片段中的ListView.到目前为止,刷新仅在我重新启动应用程序时才有效,我不知道为什么.
以下是课程:
当Dialog关闭时,这是我想要刷新的ListView和ListView.
public class RegisterListFragment extends Fragment {
public static final String TAG = "RegisterListFragment";
RegisterListAdapter adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setRetainInstance(true);
// TODO Auto-generated method stub
View view = inflater.inflate(R.layout.act_select_list_fragment, container, false);
ListView list = (ListView) view.findViewById(R.id.register_list);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Intent i = new Intent(getActivity(), com.example.smartkasse.Act_Register.MainActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
TextView selectedRegisterTextView = (TextView) arg1.findViewById(R.id.title);
String selectedRegisterName = (String) selectedRegisterTextView.getText();
i.putExtra("selectedRegisterName", selectedRegisterName);
startActivity(i);
getActivity().finish(); …Run Code Online (Sandbox Code Playgroud) android android-listview android-adapter android-fragments baseadapter
我有一个自定义日历,从这里看到的修改.在初始加载时,它会显示所有内容.
但是我有两个问题.
1.)在上个月的按钮上,按照预期从8月到7月,但它并没有清除所有图像.
2.)从7月到8月,它将在7月停留并重新安排日期.
BaseAdapter:
public class CalendarAdapter extends BaseAdapter {
private Context mContext;
private java.util.Calendar month;
public GregorianCalendar pmonth; // calendar instance for previous month
public GregorianCalendar pmonthmaxset;
private GregorianCalendar selectedDate;
public static List<String> dayString;
private List<String[]> anArrayOfStrings = new ArrayList<String[]>();
int firstDay, maxWeeknumber, maxP, calMaxP, lastWeekDay, leftDays, mnthlength;
String itemvalue, curentDateString;
DateFormat df;
ImageView mimgPeriod, mimgEnergy, mimgIntercorse, mimgPregancy, mimgHeadache, mimgMood;
DateFormat formatter;
Date rowdatetemp;
Date caldatetemp;
String box;
private int mHeight = 0;
private int mWidth …Run Code Online (Sandbox Code Playgroud) 在我的自定义列表视图中,项目正在重复.项目的位置对于所有项目是相同的.代码如下
ListAdapter.java-
public class ListAdapter extends BaseAdapter{
private List<String> mName;
private List<Drawable> mIcon;
private Context mContext;
public ListAdapter(Context mContext, List<String> Name, List<Drawable> Icon) {
this.mContext=mContext;
this.mName=Name;
this.mIcon=Icon;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mName.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(final int position, View v, ViewGroup parent) { …Run Code Online (Sandbox Code Playgroud) 我有一个gridview适配器作为活动.我现在试图将它放在片段中并转换成东西,但它不起作用.当我在我的Activity中包含IconFragmentSystem时,当我尝试打开Activity时,我会收到一个强制关闭.
我知道活动有效,因为我可以使用其他碎片,一切都很好,所以我知道我的问题在于这个文件.
package com.designrifts.ultimatethemeui;
import com.designrifts.ultimatethemeui.R;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;
import java.util.ArrayList;
public class IconFragmentSystem extends Fragment implements AdapterView.OnItemClickListener{
private static final String RESULT_OK = null;
public Uri CONTENT_URI;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.main, container, false);
super.onCreate(savedInstanceState);
int iconSize=getResources().getDimensionPixelSize(android.R.dimen.app_icon_size);
GridView gridview = (GridView) getActivity().findViewById(R.id.icon_grid);
gridview.setAdapter(new IconAdapter(this, iconSize));
gridview.setOnItemClickListener(this);
CONTENT_URI=Uri.parse("content://"+iconsProvider.class.getCanonicalName());
return view;
}
@Override
public void onItemClick(AdapterView<?> …Run Code Online (Sandbox Code Playgroud) 无法编译此代码并运行.得到问题的lv.setAdapter(new VcAdapter (this));
善意帮助.如果我尝试不通过(this),那么代码编译正常,但运行时会收到错误,说明内容需要listview.
import java.util.ArrayList;
import com.vaishnavismeclass.tiruppavai.tab.R;
import com.vaishnavismeclass.tiruppavai.tab.SingleRow;
import android.support.v4.app.Fragment;
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class EnglishFragment extends Fragment {
Context context = null;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_english, container, false);
ListView lv = (ListView) rootView.findViewById(R.id.list);
lv.setAdapter(new VcAdapter (this));
return rootView;
}
}
class SingleRow
{
String pasuram;
int …Run Code Online (Sandbox Code Playgroud) 我有一个自定义基本适配器,它将接收数据的arraylist.从这里开始,它将使用自定义按钮填充网格视图.它完美地完成并填满了gridview.问题是.我想设置一个按钮来改变颜色.当我这样做时,由于视图被回收,它还会更改下一个被回收的视图.防爆.单击位置0处的按钮1.同时更改位置13处的按钮.现在,当我进行一些调试时,我发现它也会更改某些属性.我想知道是否有创建我的视图,因为它不需要回收任何部分的视图.
我已经看到了一些关于使用stableID的事情,但即使我已经将它重写为true.它目前仍然没有改变它.
static class CategoryButtonAdapter extends BaseAdapter
{
private Context mContext;
private ArrayList<DishCategory> dishCategories;
private ArrayList<Dish> dishItems;
static ArrayList<DishCategoryButton> mDishCategoryButtons;
//will take in an array list created in the orderlayout that will be the
//dish category. This will be the from where we will the count for the adapter
public CategoryButtonAdapter(Context context, ArrayList<DishCategory> dishCategories)
{
this.mContext = context;
this.dishCategories = dishCategories;
dishItems = dishCategories.get(0).getDishes();
}
public int getCount()
{
return dishCategories.size();
}
//to be implementated later so it can b3e …Run Code Online (Sandbox Code Playgroud)