我在android中创建了list-view。 在这里,我需要将一条消息干为“您已查看此列表视图中的所有项目”。
即,在查看列表视图中的所有项目后,自动我需要像上面的消息一样显示,该怎么做?
建议
感谢您宝贵的时间!..
ListFruitActivity.java
public class ListFruitActivity extends ListActivity {
static final String[] FRUITS = new String[] { "Apple", "Avocado", "Banana",
"Blueberry", "Coconut", "Durian", "Guava", "Kiwifruit",
"Jackfruit", "Mango", "Olive", "Pear", "Sugar-apple" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// no more this
// setContentView(R.layout.list_fruit);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_fruit,FRUITS));
ListView listView = getListView();
listView.setTextFilterEnabled(true);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(),
((TextView) view).getText(), Toast.LENGTH_SHORT).show();
}
}); }}
答案 0 :(得分:1)
listView.getLastVisiblePosition()
返回适配器数据集中屏幕上显示的最后一项的位置。
listview.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent arg1) {
//needs to be optimized
int count = ((ListView) v).getLastVisiblePosition();
if(count == maxRow)
{
//make toast,
}
return false;
}
});
答案 1 :(得分:0)
您可以使用HashMap完成所需内容的简单示例。这是一个快速示例
HashMap map = new HashMap();
map.put("Apple", false);
map.put("Avocado", false);
//same for the rest of your fruit
在onItemClickListener中,您可以使用给定键将地图中的项目值设置为true。
map.put("Apple", true);
同时,您可以检查地图中是否有false
个值,如果没有查看过您的所有项目。
另一种方法是在列表中添加自定义对象并设置属性(例如boolean viewed;
),并在查看所述列表项时将其设置为true。