Как вывести список данных

244
26 марта 2017, 04:06

Здравствуйте! Есть две таблицы в базе данных MySql и все нужные php файлы: в одной названия отделов, в другой названия отделов и имена людей. В android вывожу первую таблицу в RecyclerView. Нажимаем на название отдела и открывается новая activity с новой RecyclerView, в которой ( далее вопрос!) нужно вывести вторую таблицу, но только имена людей, которые соответствуют выбранному отделу. Подскажите как это сделать.

Answer 1
  1. Из первого активити открываю второй и передаю строку имя выбранного отдела

openDetailActivity(getDataAdapter1.getImageTitleName());

private void openDetailActivity(String name)

{

Intent i=new Intent(context, DetailActivity.class);
i.putExtra("Otdel",otdel);
context.startActivity(i);

} 2. Открывается второй активити, принимается строка переданная из первого активити и выводится весь список имен (а хочется только имена выбранного отдела) public class DetailActivity extends AppCompatActivity {

List<GetDataAdapter> GetDataAdapter1;
RecyclerView recyclerView;
RecyclerView.LayoutManager recyclerViewlayoutManager;
RecyclerView.Adapter recyclerViewadapter;
String tab2= "http://10.204.1.97/Android/names/tab2.php";
String name_url = "name";
JsonArrayRequest jsonArrayRequest ;
RequestQueue requestQueue ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_detail);
    Intent i=this.getIntent();
    String otdel=i.getExtras().getString("Otdel");
    GetDataAdapter1 = new ArrayList<>();
    recyclerView = (RecyclerView) findViewById(R.id.recyclerview1);
    recyclerView.setHasFixedSize(true);
    recyclerViewlayoutManager = new LinearLayoutManager(this);
    recyclerView.setLayoutManager(recyclerViewlayoutManager);

    JSON_DATA_WEB_CALL();
}
public void JSON_DATA_WEB_CALL(){
    jsonArrayRequest = new JsonArrayRequest(tab2,
            new Response.Listener<JSONArray>() {
                @Override
                public void onResponse(JSONArray response) {
                    JSON_PARSE_DATA_AFTER_WEBCALL(response);
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                }
            });
    requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(jsonArrayRequest);
}
public void JSON_PARSE_DATA_AFTER_WEBCALL(JSONArray array){
    for(int i = 0; i<array.length(); i++) {
        GetDataAdapter GetDataAdapter2 = new GetDataAdapter();
        JSONObject json = null;
        try {
            json = array.getJSONObject(i);
           GetDataAdapter2.setImageName(json.getString(name_url));
        } catch (JSONException e) {
            e.printStackTrace();
        }
        GetDataAdapter1.add(GetDataAdapter2);
    }
    recyclerViewadapter = new Connector(GetDataAdapter1, this);
    recyclerView.setAdapter(recyclerViewadapter);
}

}

  1. класс GetDataAdapter

public class GetDataAdapter {

public String ImageName;
public String getImageName() {
    return ImageName;
}
public void setImageName(String imageName) {
    this.ImageName = imageName;
}

4. класс Connector

public class Connector extends RecyclerView.Adapter {

Context context;
List<GetDataAdapter> getDataAdapter;

public Connector(List<GetDataAdapter> getDataAdapter, Context context){
    super();
    this.getDataAdapter = getDataAdapter;
    this.context = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.names_detail, parent, false);
    ViewHolder viewHolder = new ViewHolder(v);
    return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder Viewholder, final int position) {
    final GetDataAdapter getDataAdapter1 =  getDataAdapter.get(position);

    Viewholder.ImageName.setText(getDataAdapter1.getImageName());
}
@Override
public int getItemCount() {
    return getDataAdapter.size();
}

class ViewHolder extends RecyclerView.ViewHolder{

    public TextView ImageName;

    public ViewHolder(View itemView) {
        super(itemView);
        ImageName = (TextView) itemView.findViewById(R.id.textView_name);
    }
}

}

READ ALSO
высчитать и записать разницу времени

высчитать и записать разницу времени

В БД хранится дата в формате 2017-03-24 04:05:10

258
Переход на новую активность по нажатию BottomBar

Переход на новую активность по нажатию BottomBar

При нажатии на кнопку в нижнем баре, у меня должен быть переход на новую активность, на которой создается фрагмент, ну и соответсвенно BottomBar...

257
Не запускается cmd.exe из программы на java

Не запускается cmd.exe из программы на java

Код выглядит следующим образом:

214
Multidex Error на Android 5 (LG G4c)

Multidex Error на Android 5 (LG G4c)

Не могу найти ошибку, чтобы её исправить/погуглитьПомогите пожалуйста разобраться

449