Listview位于TabActivity内部,我无法生成listItem上的点击,尝试了很多方法但无法完成任务,因此,任何人都可以提供帮助。谢谢。
答案 0 :(得分:5)
采用新视图然后膨胀它将解决tabView中的listview onClick中的问题......!
public View getView(final int position, View convertView1, ViewGroup parent)
{
final ViewHolder holder;
final Context context;
View convertView = null;
if (convertView == null)
{
convertView = mInflater.inflate(R.layout.file_display_binding, null);
holder = new ViewHolder();
System.out.println("inside efficient array");
holder.file_imgview = (ImageView)convertView.findViewById(R.id.file_icon_diplay);
convertView.setOnClickListener(new View.OnClickListener()
{
//@Override
public void onClick(View v)
{
}
}
}
}
答案 1 :(得分:4)
首先,从它的ID获取ListView:
ListView lv = (ListView)findViewById(R.id.myListView);
然后,将其setOnItemClickListener设置为:
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3)
{
// TODO Auto-generated method stub
}
});
答案 2 :(得分:2)
lv.setOnItemClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
Intent inttentEventDetails = new Intent(Home.this, EventDetails.class);
inttentEventDetails.putExtra("EventID", v.getId());
overridePendingTransition(R.anim.slide_left, R.anim.slide_right);
TabGroupActivity pActivity = (TabGroupActivity)Home.this.getParent();
pActivity.startChildActivity("UpcomingEvents", inttentEventDetails);
}
});
答案 3 :(得分:2)
您必须注意,当自定义ListView包含可聚焦元素(如按钮或复选框)时,onListItemClick方法可能无效(我认为这是预期的行为)。
所以你必须从这些可聚焦元素中移除焦点,它应该可以解决问题。换句话说,将以下命令添加到ListView的可聚焦元素:
android:focusable="false"
android:focusableInTouchMode="false"