Articles of listview

当Listview位于顶部/底部时,将动作事件传递给父Scrollview

我在ScrollView有一个ListView来显示注释,我想执行以下操作: 当用户向下滑动时,首先ScrollView应该完全向下滚动,因为列表位于底部。 一旦完全关闭, Listiew应该开始滚动。 类似地,当用户向上滚动时,首先在ScrollView开始滚动之前向上滚动ListView (此处颠倒的顺序!)。 到目前为止,我已经做了以下事情: listView.setOnTouchListener(new View.OnTouchListener() { // Setting on Touch Listener for handling the touch inside ScrollView @Override public boolean onTouch(View v, MotionEvent event) { // If going up but the list is already at up, return false indicating we did not consume it. if(event.getAction() == MotionEvent.ACTION_UP) { if (listView.getChildCount() == […]

在android中的列表视图内的按钮上设置OnClick Listener

我的屏幕上有一个列表视图,每个列表项包含2个文本视图和一个按钮。 在按钮上单击我想获取列表项选择索引以从向量中获取一些数据。 这是我的List Custom Adapter.But我不知道该怎么做。 private class CustomAdapter extends ArrayAdapter { public CustomAdapter(Context context, int resource, int textViewResourceId, List objects) { super(context, resource, textViewResourceId, objects); } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; TextView item = null; TextView description = null; Button subNowBtn; ServicesItems ii = getItem(position); if […]

有没有办法用ArrayAdapter更新多个TextView?

我有一个列表视图,有多个textview像这样: 我有一个POJO列表,其中包含name和address ,我希望列表视图中的每个项目都填充这些值。 我的POJO是这样的: public class Person { private String name; private String address; //getter setter public String toString() {return name;} } 题 当我用列表设置列表适配器时,如何设置名称和地址? 目前我这样做只设置名称: setListAdapter(new ArrayAdapter(MyActivity.this, R.layout.list_text, R.id.name, personList));

在显示时为Listview的每个项目设置animation

我试图以一种方式显示列表视图元素,每个元素都会animation,然后变得可见,因此一个接一个地它们会animation并且对用户可见。 但是当我实现animation时,它不是在处理个别项目,而是在整个listview上工作:( public View getView(final int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub LayoutInflater layoutInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View row =layoutInflater.inflate(R.layout.categories_row, parent, false); tvCatName = (TextView) row.findViewById(R.id.tvCatName); tvCatName.setText(Data.alCategoriesModels.get(position).catname); row.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Toasts.pop(activity, “Category id : ” + Data.alCategoriesModels.get(position).catID); } }); […]

Android:获取列表视图中项目的位置给定其ID:

getItemIdAtPosition()是android中的一个函数,用于获取列表视图中项目的id给定其位置 有没有办法做反过来,即获取项目的位置是一个列表视图给定其ID?

如何获取ListView项的视图?

我有两个ListViews(A和B)与相同types的项目(我创建的类) 当我单击A中的项目时,它会在B上添加此对象,如果再次单击它将删除它。 仅在选择项目时,我使用view.setBackgroundColor(myColor)更改其背景。 我希望能够从列表B中删除该项目(它可以工作),但我还想重置背景颜色。 我无法弄清楚如何获取我正在移除的这个项目的视图。 有任何想法吗?

Robolectric测试ListView在适配器中的值更改后不更新

我创建了一个带有ListView的布局,它根据按下的2个给定按钮中的哪个更新其中的值。 按下标有赔率的按钮将清除所有值,并将奇数加到20.除均数外,按下均匀值相同。 这在真实设备上模拟或尝试时工作正常。 以下是活动代码。 public class ListViewActivity extends Activity { private ListView mainListView; private ArrayAdapter listAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.robolectric_test_main); mainListView = (ListView) findViewById(R.id.mainListView); ArrayList numbersList = new ArrayList(); for (int i = 1; i < 21; i++) { numbersList.add(String.valueOf(i)); } listAdapter = new ArrayAdapter(this, R.layout.robolectric_listview_row, numbersList); mainListView.setAdapter(listAdapter); } public void […]

刷新当前片段(ListView数据)保留在同一活动中

从Activity调用Fragment ,我正在显示带有两个Buttons的ListView 。 当我点击menu_item (即Show Online)时,我正在更新数据,所以ListView 。 现在我需要反映更新的数据。 单击“在线显示”后,如何刷新Fragment 。 直到现在,我使用了以下代码: Intent intent = getIntent(); Intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); finish(); startActivity(intent); 但这将重启整个Activity 。 我只需要刷新当前的Fragment 。 编辑:已添加代码 活动类 public class ContactListActivity extends ActionBarActivity { ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final ActionBar actionBar = getActionBar(); MenuButtonUtil.enableMenuButton(this); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); MyContactsFragment contactListFragment […]

设置专注于android中listview的任何项目

我有一个listview,其中包含textviews作为其元素。 现在,我想在启动应用程序时自动聚焦列表的第一项 当我点击其他视图(例如按钮)时,如何将焦点设置在列表的任何项目上?

如何设计Gridview像监护人的应用程序

我正在尝试制作像监护人应用程序的布局。 我知道什么是gridview以及如何设计它并用数据等来扩充它。 我想要设计什么? 这种布局包含图像而不是图像的项目,并且还有延迟加载。 我面临的问题是什么? 1-Confused应该和我一起去看看。 GridView,ListView或RecyclerView。 2 – 如果我使用GridView,那么如何为某些项目设置不同的项目布局。 我试过了什么? 我尝试使用线性布局作为单独的xml然后我在运行时将xml添加到根布局。 它有点工作,但问题上升,当我需要添加clicklistener来显示相关的post,因为将有超过100多个post数据。 如果有人引导我朝着正确的方向前进,那会很有帮助。 谢谢! 编辑。 经过这里的答案后。 我用这种方法。 我习惯了xml。 然后我用适配器中的getViewType更改布局,但是没有给出这样的结果。 我仍在寻找更有说服力的解决方案。 这是我累了的代码。 public class RecyclerAdapter extends RecyclerView.Adapter{ MainDTO mainDTO; public RecyclerAdapter(MainDTO mainDTO){ this.mainDTO=mainDTO; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view; ViewHolder viewHolder; switch (viewType){ case 0: view= LayoutInflater.from(parent.getContext()).inflate(R.layout.header,parent,false); viewHolder=new ViewHolder(view,viewType); return […]