嘿伙计这是我关于stackoverflow的第一个问题。 我几乎在一个月内搜索一个主题,但没有找到任何相关的答案。
我想将 clicklistner设置为主要活动中的列表子项 。
我了解Listview.setOnItemClickListner ...并且还知道如何设置listview的子项目在自己的适配器中单击。
但我不想要这个..
我想设置listview的子项目,点击主要活动
这是我点击列表项的主要活动代码...
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, final long id) {
final TextView tx;
tx=(TextView)view.findViewById(R.id.textList);
tx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(listviewclick_Activity.this, "in= "+String.valueOf(position), Toast.LENGTH_SHORT).show(); // clicking for textview on list
}
});
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(listviewclick_Activity.this,"out= "+ String.valueOf(position), Toast.LENGTH_SHORT).show(); // clicking for whole listitem
}
});
}
});
此代码工作正常但存在用户必须先单击的问题 之后的所有点击将被设置...
请记住,我不想在适配器中单击一个子项目。我只想在主要活动中点击它。 希望得到一个好的答案...
答案 0 :(得分:0)
我不明白你在做什么但是这一部分:
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(listviewclick_Activity.this, "out= " + String.valueOf(position), Toast.LENGTH_SHORT).show(); // clicking for whole listitem
}
});
错误!,因为view
是已经点击的列表视图项(行)。
取而代之的是:
Toast.makeText(listviewclick_Activity.this, "out= " +String.valueOf(position),Toast.LENGTH_SHORT).show(); // clicking for whole listitem
这一部分:
tx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(listviewclick_Activity.this, "in= "+String.valueOf(position), Toast.LENGTH_SHORT).show(); // clicking for textview on list
}
});
除非单击listview项,否则将无效,因此您应将其移至适配器内。