我有一个列表视图,其中包含我所有用户的列表.列表中的每个项目都是一个布局,其中包含一个按钮,用于显示AlertDialog以更改按钮标签的值.如何动态地将单击事件添加到listview适配器生成的按钮?
这是我的适配器:
public class PerfilAdapter extends BaseAdapter {
Context mContext;
LayoutInflater mLayoutInflater;
List<PerfilBean> listaPerfiles = new ArrayList<PerfilBean>();
public Settings01 set=new Settings01();
public PerfilAdapter(Context context,List<PerfilBean> lista) {
    mContext = context;
    mLayoutInflater = (LayoutInflater) mContext
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    listaPerfiles=lista;
}
@Override
public int getCount() {
    // TODO Auto-generated method stub
    return listaPerfiles.size();
}
@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return listaPerfiles.get(position);
}
@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}
@Override
public View …我有一个列表视图适配器使用不同类型的视图行.
大多数时候它工作正常.但是当我从列表中删除一个元素时它会崩溃.它将不正确类型的convertView发送到getView
public View getView(int position, View convertView, ViewGroup patent) ...  
但getItemViewType返回正确的类型.
public int getItemViewType(int position)
所以我看到的东西看起来像这样
给我位置1的类型 - >返回正确的类型(比如1)
给我一个位置1的视图,其中包含错误类型的内容视图(比如类型2)
有任何想法吗?
当我单击列表视图中的按钮时,我有显示Toast消息的问题.问题是我通过BaseAdapter扩展的自定义类我有一个名为GetView的方法我想显示来自该特定消息的Toast消息
以下是我的Listview Row Xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/tools"
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    app:context=".HomeActivity" >
    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
        <TableRow
            android:id="@+id/tableRow_laugh"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:ignore="UselessParent" >
                <TableLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true" >
                    <TableRow
                        android:id="@+id/tableRow_Header_laugh"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:background="#818085" >
                        <RelativeLayout
                            android:id="@+id/relative_header"
                            android:layout_width="wrap_content"
                            android:layout_height="fill_parent"
                            android:background="#818085" >
                            <ImageView
                                android:id="@+id/UserIconPic_laugh"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentLeft="true"
                                android:layout_alignParentTop="true"
                                android:layout_weight="0.4"
                                android:src="@drawable/ic_launcher"
                                app:ignore="ObsoleteLayoutParam,ContentDescription" />
                            <Button
                                android:id="@+id/btn_Vote_laugh"
                                android:layout_width="wrap_content"
                                android:layout_height="match_parent"
                                android:layout_alignParentRight="true"
                                android:layout_alignParentTop="true"
                                android:layout_weight=".4"
                                android:text="VOTE"
                                app:ignore="ObsoleteLayoutParam,HardcodedText" />
                            <TextView
                                android:id="@+id/txt_number_of_vote_laugh"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignBaseline="@+id/btn_Vote_laugh"
                                android:layout_alignBottom="@+id/btn_Vote_laugh"
                                android:layout_toRightOf="@+id/UserIconPic_laugh"
                                android:layout_weight=".4"
                                android:textAppearance="?android:attr/textAppearanceMedium"
                                app:ignore="ObsoleteLayoutParam,HardcodedText" />
                        </RelativeLayout>
                    </TableRow>
                    <TableRow
                        android:id="@+id/tableRow_MainText_laugh"
                        android:layout_width="wrap_content" …android listview android-layout baseadapter listview-adapter
如何从适配器位置获取值,我的代码如下:
CategoriesXmlParser categoryXmlParser = new CategoriesXmlParser();
List<HashMap<String, Object>> categories = null;
try {
  categories = categoryXmlParser.parse(reader);
} catch (Exception e) {
  Log.d("Exception", e.toString());
}
String[] from = { "name", "image" };
int[] to = { R.id.nama_category, R.id.logo_category };
final SimpleAdapter adapter = new SimpleAdapter(getBaseContext(),
                    categories, R.layout.per_item_category, from, to);
mListView.setOnItemClickListener(new OnItemClickListener() {
  public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
    Object obj = mListView.getAdapter().getItem(position);
    String value = obj.toString();
    Log.d("MyLog", "Value is: "+value);
    String name = // how code …我是Android编程新手,我有一个ListView,当过滤总是返回列表中的第一项,所以我该如何解决这个问题?
例如,我的列表包含AA,AB,AC,BC,BD当我想在列表中搜索以B开头的内容时,我将获得BC,BD但是当我点击BC时,它返回AA和BD,它返回给我AB
public class PatientList extends Activity{
PatientDB patientDB;
Context myContext;
ListView lv_patients;    
EditText et_patients;
ArrayAdapter<String> adapter;   
ArrayList<HashMap<String, String>> patientList;
static String value;
String[] patientarray = new String[]{"initials"};
ArrayList<String> patientArrayList = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_patient_list);
    myContext = this;
    patientDB = new PatientDB(myContext);
    patientDB.open();
    Cursor patientCursor;
    patientCursor = patientDB.retrieveAllEntriesCursor();
    if(patientCursor!=null && patientCursor.getCount()>0)
    {
        String patientInitials;
        patientCursor.moveToFirst();
        do 
        {
            patientCursor.getString(patientDB.COLUMN_KEY_ID); // + " " + 
            patientInitials = patientCursor.getString(patientDB.COLUMN_INITIALS_ID);
            Log.i("FromCursor", patientInitials);
            patientArrayList.add(patientInitials); …当用户在列表视图中选择元素时,如何设置动画?
我正在创建自己的listview适配器来设置具有粉红色背景的偶数行和具有紫色背景的奇数行.唯一的问题是我不确定如何为用户点击("触摸")元素设置动画.
我想到实现OnTouchListener并在选择时将背景更改为绿色但是由于OnTouchListener正在实现,我在行内部的按钮可能不再有效.这是真的?
码:
public class MyAdapter extends BaseAdapter {
    public View getView(int position, View convertView, ViewGroup parent) {
        // position is the element's id to use
        // convertView is either null -> create a new view for this element!
        //                or not null -> re-use this given view for element!
        // parent is the listview all the elements are in    
        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.your_layout, null);
            // here you must do whatever is needed to populate …希望每个人都好;
我知道这个问题已经提前几次审查过,但经过长时间的搜索,我仍然没有找到解决方案.
我的自定义列表视图每6项重复一次项目.
已经检查并尝试过:
1- layout_width和layout_height不包含wrap_content
2- holder = new ListViewItem()在任何内容初始化之前
3-有一个"convertView!= null"
4- holder.linearLayout.getChild()不能在我的情况下使用,因为布局不是Linear
5-晴()
如果有人可以帮助我,这是我的代码
CustomListViewAdapter.java的getView()
public View getView(final int position, View convertView, ViewGroup parent) {  
    ListViewItem item = items.get(position);
    ListViewItem holder;
    View vi=convertView;
    inflater = (LayoutInflater)    getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    if(vi==null){
        vi = inflater.inflate(R.layout.item, null);
        holder = new ListViewItem();
        holder.cb = (CheckBox) vi.findViewById(R.id.Item1);
        holder.sp = (Spinner) vi.findViewById(R.id.Item2);
        holder.title = (TextView) vi.findViewById(R.id.Item3);
        holder.pricetitle= (TextView) vi.findViewById(R.id.item4);
        holder.Descriptiontitle= (TextView) vi.findViewById(R.id.Item5);
        vi.setTag(holder);
    }else{
        holder = (ListViewItem) vi.getTag();
    }
    holder.title.setText(item.ItemTitle);
    holder.pricetitle.setText(item.price+"");
    holder.Descriptiontitle.setText(item.Description);
    return …android listview duplicates android-listview listview-adapter
请帮我..
我想将listviewadapter项中的值传递给我的片段..
我有ListViewAdapterShipping.java
    package com.example.administrator.mosbeau;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.FragmentManager;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.json.JSONArray;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader; …android listview android-listview android-fragments listview-adapter
我是android的新手,我正在尝试在android中创建一个旋转木马.我的班级结构如下
public class PageViewActivity extends FragmentActivity {
    ViewPager pager;
    ...
    public void onCreate(Bundle savedInstanceState) {
       final ViewPager pager = (ViewPager) findViewById(R.id.pager);
       MyPageAdapter pageAdapter = new MyPageAdapter(getSupportFragmentManager(),getBaseContext());
       pager.setAdapter(pageAdapter);
    }
...
public class MyPageAdapter extends FragmentStatePagerAdapter {
    @Override
    public ImageFragment getItem(int position) {
       ...
       return fragment;
    }
    @Override
    public int getCount() {
       return 10;
    }
}
现在我的程序工作正常,我可以通过向左或向右滑动来获取10个可以访问的片段.但我希望将这10个片段显示为轮播,以便用户更好地了解当前位置的左侧或右侧有更多碎片.
有人可以告诉我我该怎么做.
我确实使用PageContainer找到了这个url ViewPager轮播,而不是使用FragmentPagerAdapter,但对于像我这样的初学者来说,没有太多信息.
android carousel infinite-carousel listview-adapter fragmentstatepageradapter
我正在将我的HTTP调用转换为来自同步调用的异步调用.因为连接在后台运行,所以当我最初设置列表适配器时,数据不存在.如何在HTTP调用后让列表适配器更新?我尝试了一些事情,比如没有设置适配器,直到数据被发回并再次设置适配器,但没有任何工作.这是我目前的创建代码
protected void onCreate(Bundle savedInstanceState) {
    overridePendingTransition(R.layout.anim_out,R.layout.anim_in);
    setTheme(R.style.Theme_D_theme);
    setContentView(R.layout.news_fragment);
    super.onCreate(savedInstanceState);
    text = (TextView) this.findViewById(R.id.nomore);
    list = (ListView) this.findViewById(R.id.newslist);
    list.setDividerHeight(2);
    new MyAsyncTask().execute("THIS");  
        list.setOnItemClickListener(this);
        list.setCacheColorHint(Color.WHITE);
        adapter = new SimpleAdapter(this, x, R.layout.drill1_listview,
                new String[] {"title","content","distance", "image"},
                new int[] {R.id.title, R.id.content, R.id.distance, R.id.image} );
}
而我的AsyncTast
private class MyAsyncTask extends AsyncTask<String, Integer, Double>{
    @Override
    protected Double doInBackground(String... params) {
        // TODO Auto-generated method stub
        postData(params[0]);
        return null;
    }
    protected void onPostExecute(Double result){
        //pb.setVisibility(View.GONE);
        Toast.makeText(getApplicationContext(), "command sent", Toast.LENGTH_LONG).show();
    }
    protected void onProgressUpdate(Integer... progress){
        //pb.setProgress(progress[0]);
    } …