小编Ven*_*247的帖子

RecyclerView适配器和ViewHolder动态更新

我正在尝试创建一个将从网络加载新闻的应用程序,并将动态更新.我正在使用RecyclerViewCardView显示内容.我Jsoup用来解析网站.我不认为我的代码是必需的,因为我的问题更具理论性而非实际性.我想了解使用动态更新的过程notifyDataSetChanged().在我的主要活动中,我获取所有标题并将它们添加到列表中.但我需要等待,直到所有项目都加载开始显示它们.我真的很感激,如果有人可以发布我正在尝试做的示例代码,因为我找不到很多关于组合的信息ViewHolder,Adapter并且RecyclerView.

android android-viewholder android-cardview recycler-adapter android-recyclerview

10
推荐指数
1
解决办法
4万
查看次数

滚动时自定义ListView随机更改按钮文本或编辑文本

我已经搜索过这个,但无济于事我没有得到问题的确切答案.

我有一个按钮ListView,当点击该按钮时,它会显示一个警告对话框来选择日期,选择日期后,所选日期将是该按钮的文本.代码工作正常,但当我向下滚动时,日期将随机更改这里是我getView()的适配器方法的代码.这也发生EditText在我输入任何EditText工作时,但当我开始滚动时,值也会改变.

这是我的获取视图方法

public View getView(int position, View convertView, ViewGroup parent) {
    final ViewHolder viewHolder;
    if(convertView == null){
        convertView = layoutInflater.inflate(R.layout.repeat_entry_listview,null);

        viewHolder = new ViewHolder();
        viewHolder.btnDate = (Button) convertView.findViewById(R.id.rpbtnDate);
        viewHolder.txtNotes  = (EditText) convertView.findViewById(R.id.rpNotes);
        convertView.setTag(viewHolder);
    }else{
        viewHolder = (ViewHolder) convertView.getTag();
    }


    RepeatEntryList repeatEntryList = listData.get(position);
    viewHolder.btnDate.setText(repeatEntryList.getDate());
    viewHolder.btnDate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          //EVEN IF I REMOVE THE CODE FOR SETTING THE BUTTON TEXT TO JUST LIKE THE BELOW CODE. …
Run Code Online (Sandbox Code Playgroud)

android listview android-listview

4
推荐指数
1
解决办法
3029
查看次数

Opengl 3.3没有绘制任何东西.使用GLSL 330 Core

我正在关注本网站的指南并停止了第2课.首先,我尝试了自己的代码,但是在它不起作用之后,我只是从网站上获取了代码.除了这个之外,它仍然没有画任何东西glClearColor.

我做了什么:

  1. 检查编译和链接.工作良好
  2. 检查错误.不确定我是否做得对,但看起来一切都好(我得到1280错误,但我已经读过GLEW会导致它并且可以忽略它).
  3. glUseProgram通过主循环移动但没有得到任何结果.
  4. 更改颜色并尝试修改着色器.依然没有

我将发布我目前的代码(来自网站的原始代码):

main.cpp中

#include <stdio.h>
#include <stdlib.h>
#include <glew.h>
#include <glfw3.h>
#include <glm/glm.hpp>
#include <fstream>
#include <iostream>
#include <string>
#include <vector>


int max(int i, int j)
{
    if (i > j) return i;
    return j;
}


GLuint LoadShaders(const char * vertex_file_path, const char * fragment_file_path){

    // Create the shaders
    GLuint VertexShaderID = glCreateShader(GL_VERTEX_SHADER);
    GLuint FragmentShaderID = glCreateShader(GL_FRAGMENT_SHADER);

    // Read the Vertex Shader code from the file
    std::string VertexShaderCode;
    std::ifstream VertexShaderStream(vertex_file_path, …
Run Code Online (Sandbox Code Playgroud)

c++ opengl shader

0
推荐指数
1
解决办法
940
查看次数