gpt4 book ai didi

android - onclicklistener 不在方法内部工作

转载 作者:行者123 更新时间:2023-11-30 04:00:05 28 4
gpt4 key购买 nike

我必须将从数据库查询的名称列表放入列表(不是 ListView )。我可以通过使用自定义 View 膨胀线性布局来做到这一点。我创建了一个新类,其中有一个方法可以使用自定义 View 扩展布局。在那个方法中,我实现了一个 onclicklistener,但它不起作用。代码:

public static void showPeopleInvitedList(Context context, View view, final LinearLayout layout) {
dbAdapter = new DatabaseHandler(context);
String[] ENTRIES = dbAdapter.getItems("user_friend_name");
for (int i = 0; i < 5; i++ ) {
LayoutInflater inflator = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflator.inflate(R.layout.people, layout, false);

view.setId(layout.getChildCount() + 1);
params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

view.setLayoutParams(params);
view.setOnClickListener(myClickListener);
layout.addView(view, 0, params);


}

myClickListener = new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.d("click", "clicked");
layout.removeView(v);
}
};
}

但是 onclicklistener 不工作。我在主要 Activity 中调用此方法。此方法位于扩展 LinearLayout 的类中有什么建议吗?

最佳答案

您尚未实例化 myClickListener,因此您将 View 的 onClickListener 设置为 null。将其初始化移动到 for 循环之前。

public static void showPeopleInvitedList(Context context, View view, final LinearLayout layout) {
dbAdapter = new DatabaseHandler(context);
String[] ENTRIES = dbAdapter.getItems("user_friend_name");

myClickListener = new View.OnClickListener() {

@Override
public void onClick(View v) {
Log.d("click", "clicked");
layout.removeView(v);
}
};
for (int i = 0; i < 5; i++ ) {
LayoutInflater inflator = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflator.inflate(R.layout.people, layout, false);

view.setId(layout.getChildCount() + 1);
params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

view.setLayoutParams(params);
view.setOnClickListener(myClickListener);
layout.addView(view, 0, params);


}

关于android - onclicklistener 不在方法内部工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12645717/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com