- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在gridView.setOnItemClickListener
末尾调用createRandomList()
方法,但是当我制作这个 gridView
时,imageList
不会更新。
如果我在 textTT.setOnClickListener
中调用它,它就会起作用。但我需要它在 gridView.setOnItemClickListener
之后工作。
我的意思是,在gridView.setOnItemClickListener
之后,应该自动再次调用createRandomList()
方法。
public class FragmentTrainingTest extends Fragment {
Context context;
TextView textTT;
ArrayList<kayitSinifi> kelimeList = new ArrayList<>();
int rand,position;
Random r = new Random();
MediaPlayer noVoice,yesVoice;
ArrayList<kayitSinifi> randomList = new ArrayList<>();
ArrayList<Integer> imageList = new ArrayList<>();
gridAdapter adapter;
boolean ilkKez = true;
@SuppressLint("ClickableViewAccessibility")
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View inflate = inflater.inflate(R.layout.fragment_training_test, container, false);
noVoice = MediaPlayer.create(context,R.raw.glitchinthematrix);
yesVoice= MediaPlayer.create(context,R.raw.fillingyourinbox);
final GridView gridView = inflate.findViewById(R.id.gridView);
textTT= inflate.findViewById(R.id.txtTrainingTest);
createRandomList();ilkKez = false;
adapter = new gridAdapter(context,randomList,imageList);
gridView.setAdapter(adapter);
textTT.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createRandomList(); gridView.setAdapter(adapter);
}
});
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.i("tester","Item clicked");
if(position == rand){
yesVoice.start();
imageList.set(rand,R.drawable.ic_check_black_24dp);
} else {
noVoice.start();
imageList.set(position,R.drawable.ic_close_black_24dp);
imageList.set(rand,R.drawable.ic_check_black_24dp);
}
gridView.setAdapter(adapter);
// createRandomList(); // please focus here
}
});
return inflate;
} //end of onCreateView
private void createRandomList() {
ArrayList<Integer> randomNumber = new ArrayList<>();
// if (ilkKez) {} else try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}
for (int i=0; randomList.size()>0;i++) randomList.remove(0);
for (int i=0; imageList.size()>0;i++) imageList.remove(0);
for (int i = 0; i< 6; i++) {
do {
rand = r.nextInt(kelimeList.size());
}
while(randomNumber.contains(rand));
randomNumber.add(rand);
randomList.add(kelimeList.get(rand));
imageList.add(R.drawable.ic_fingerprint_black_24dp);
}
rand = r.nextInt(5); // 6 sayi belirlendi bu ise esas oglan
textTT.setText(randomList.get(rand).anaDil);
textTT.setBackgroundColor(Color.parseColor("#4CAF50"));
}
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
super.onAttach(activity);
context=activity;
dbaseHelper db = new dbaseHelper(context);
kelimeList=db.dbList2();
}
}
最佳答案
将createRandomList()
放在gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.i("tester","Item clicked");
if(position == rand){
yesVoice.start();
imageList.set(rand,R.drawable.ic_check_black_24dp);
} else {
noVoice.start();
imageList.set(position,R.drawable.ic_close_black_24dp);
imageList.set(rand,R.drawable.ic_check_black_24dp);
}
createRandomList();
gridView.setAdapter(adapter);
}
});
关于java - ItemClickListener 调用方法后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62076682/
我需要在gridView.setOnItemClickListener末尾调用createRandomList()方法,但是当我制作这个 gridView 时,imageList 不会更新。 如果我在
我想在我的 android 项目中使用自定义对话框作为点击 ListView 的项目 我在不同的类中自定义我的对话框如下: public class CustomDialogOption exten
我对 onItemClickListener 有疑问,它不适用于我的代码我的代码是 listView = (ListView)findViewById(R.id.listVie
我可以知道为什么它向我显示“无法解析符号 ItemClickListener”的错误吗?我是否需要添加库或其他东西来解决这个问题,或者我不应该在这里声明它? public static class F
我试图在用户点击列表中的项目时打开视频。我有 ListView 工作的代码,以及打开视频的代码。我只是不知道如何将两者结合起来。 这是我打开视频的代码。 String video_path =
以下代码用于 itemclick 监听器 ListView_proddetails.setOnItemClickListener(new OnItemClickListener() { @Ov
我有一个自定义 ListView ,其中有一个 textview和一个 ImageView .我设置了focusable= false对于 textView 和 ImageView。对于 ListVi
在拥有 3 年的 Android 经验后,我正在使用 Kotlin 编写我的第一个应用程序。只是对如何在 Kotlin 中使用带有 RecyclerView 的 itemClickListener 感
我有以下代码,它应该显示一个可点击的图标,该图标会打开一个弹出对话框,读出一个冗长的注释。 this.capacityCommentColumn = this.facilityGrid
我正在使用 ArrayList 的集合来填充我的 Listview。我的 ListView 包含两个单独的行类型。 Header and Footer. 我正在尝试在我的 Listview 上实现 E
我的 OnItemClickListener 无法正常工作。我有一个带有 ListView 的自定义对话框布局。 ListView 将 TextView 作为 Item。 TextView 应该是可滚
我在 YouTube 上学习了本教程. 我设法搜索了数据,但现在我想在回收站 View 中打开所选数据的详细信息页面。我如何完成它?我应该在哪一部分为recyclerview 实现onClickLis
既然 google 正式支持 Kotlin 作为 android 中的主要(或即将成为)语言,我正在尝试翻译我的一个项目。尽管 Android Studio 内置的“翻译器”工作得很好,但它显然无法为
在我的应用程序中,我有一个 Spinner,我应该将来自服务器的一些数据显示到此 Spinner 中。 我的服务器数据有: "sections": [{ "id": 1,
我的应用程序中有一个 ListView,当我单击第一个 ListView 的每个项目时,我想要一个弹出窗口 ListView 出现,但是必须在弹出 View 中的第二个 ListView 不会出现。这
我是一名优秀的程序员,十分优秀!