我有一个ListView,它有3行。我想控制行可点击,如最初只有第一行可以点击,之后,第二行可以点击,然后第三行可以点击。我还想补充一点;在每次单击行之后,将打开一个AlertDialog,其中包含单个选择项。在获得选定值之后,可以单击另一行。我该如何处理这种情况?
当您在listview中添加侦听器时,函数onItemClick接收您单击的位置。您可以将int变量初始化为0,以知道哪些行可以单击。
像这样:
int current_position = 0;
myList.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id){
if(position == 0) //Your stuff (current_position = 1)
if(position == 1) //
}
});
最好使用3行的ScrollView来模拟ListView。之后,您可以轻松地控制每行的单击事件。
如果您正在使用BaseAdapter
,请尝试使用isEnabled
api。尽管这个api是为分隔符设计的。您可以首先为第2行和第3行返回false,然后根据您的逻辑返回true。
另一个api areAllItemsEnabled
,您已经返回false
。
裁判:
http://developer.android.com/reference/android/widget/BaseAdapter.html isEnabled (int)http://developer.android.com/reference/android/widget/BaseAdapter.html areAllItemsEnabled ()