Так что это родительское действие и оно имеет вид списка, который изменяется в соответствии с выбранным фильтром.
Теперь я хочу, чтобы при щелчке любого элемента в представлении списка он открывал новое действиеи я успешно запрограммировал эту вещь.
Теперь, что должно произойти, так это то, что независимо от того, создается ли новое действие, должно быть нажато название элемента, но я не хочу создавать разный макет для каждого элемента.Короче говоря, я хочу что-то динамическое
public class Catalogue extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_catalogue);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.filter_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
ImageView BackFromCatalogue = (ImageView) findViewById(R.id.BackFromCatalogue);
BackFromCatalogue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
ArrayList<Food> new_food = new ArrayList<Food>();
new_food.add(new Food("Pizza", "probably attracts evryone", R.drawable.test));
new_food.add(new Food("noddles", "probably attracts evryone", R.drawable.test));
new_food.add(new Food("pasta", "probably attracts evryone", R.drawable.test));
new_food.add(new Food("burger", "probably attracts evryone", R.drawable.test));
new_food.add(new Food("coke", "probably attracts evryone", R.drawable.test));
FoodAdapter food_adapter = new FoodAdapter(this, new_food);
ListView listView = (ListView) findViewById(R.id.food_list);
listView.setAdapter(food_adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
Intent i = new Intent(Catalogue.this, FoodItem.class);
startActivity(i);
break;
case 1:
Intent i1 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i1);
break;
case 2:
Intent i2 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i2);
break;
case 3:
Intent i3 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i3);
break;
case 4:
Intent i4 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i4);
break;
}
}
});
break;
case 1:
ArrayList<Food> new_food1 = new ArrayList<Food>();
new_food1.add(new Food("coke", "probably attracts evryone", R.drawable.test));
new_food1.add(new Food("coke", "probably attracts evryone", R.drawable.test));
new_food1.add(new Food("coke", "probably attracts evryone", R.drawable.test));
new_food1.add(new Food("coke", "probably attracts evryone", R.drawable.test));
new_food1.add(new Food("coke", "probably attracts evryone", R.drawable.test));
FoodAdapter food_adapter1 = new FoodAdapter(this, new_food1);
ListView listView1 = (ListView) findViewById(R.id.food_list);
listView1.setAdapter(food_adapter1);
listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
Intent i = new Intent(Catalogue.this, FoodItem.class);
startActivity(i);
break;
case 1:
Intent i1 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i1);
break;
case 2:
Intent i2 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i2);
break;
case 3:
Intent i3 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i3);
break;
case 4:
Intent i4 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i4);
break;
}
}
});
break;
case 2:
ArrayList<Food> new_food2 = new ArrayList<Food>();
new_food2.add(new Food("burger", "probably attracts evryone", R.drawable.test));
new_food2.add(new Food("burger", "probably attracts evryone", R.drawable.test));
new_food2.add(new Food("burger", "probably attracts evryone", R.drawable.test));
new_food2.add(new Food("burger", "probably attracts evryone", R.drawable.test));
new_food2.add(new Food("burger", "probably attracts evryone", R.drawable.test));
FoodAdapter food_adapter2 = new FoodAdapter(this, new_food2);
ListView listView2 = (ListView) findViewById(R.id.food_list);
listView2.setAdapter(food_adapter2);
listView2.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
Intent i = new Intent(Catalogue.this, FoodItem.class);
startActivity(i);
break;
case 1:
Intent i1 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i1);
break;
case 2:
Intent i2 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i2);
break;
case 3:
Intent i3 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i3);
break;
case 4:
Intent i4 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i4);
break;
}
}
});
break;
case 3:
ArrayList<Food> new_food3 = new ArrayList<Food>();
new_food3.add(new Food("pasta", "probably attracts evryone", R.drawable.test));
new_food3.add(new Food("pasta", "probably attracts evryone", R.drawable.test));
new_food3.add(new Food("pasta", "probably attracts evryone", R.drawable.test));
new_food3.add(new Food("pasta", "probably attracts evryone", R.drawable.test));
new_food3.add(new Food("pasta", "probably attracts evryone", R.drawable.test));
FoodAdapter food_adapter3 = new FoodAdapter(this, new_food3);
ListView listView3 = (ListView) findViewById(R.id.food_list);
listView3.setAdapter(food_adapter3);
listView3.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
Intent i = new Intent(Catalogue.this, FoodItem.class);
startActivity(i);
break;
case 1:
Intent i1 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i1);
break;
case 2:
Intent i2 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i2);
break;
case 3:
Intent i3 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i3);
break;
case 4:
Intent i4 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i4);
break;
}
}
});
break;
case 4:
ArrayList<Food> new_food4 = new ArrayList<Food>();
new_food4.add(new Food("noddles", "probably attracts evryone", R.drawable.test));
new_food4.add(new Food("noddles", "probably attracts evryone", R.drawable.test));
new_food4.add(new Food("noddles", "probably attracts evryone", R.drawable.test));
new_food4.add(new Food("noddles", "probably attracts evryone", R.drawable.test));
new_food4.add(new Food("noddles", "probably attracts evryone", R.drawable.test));
FoodAdapter food_adapter4 = new FoodAdapter(this, new_food4);
ListView listView4 = (ListView) findViewById(R.id.food_list);
listView4.setAdapter(food_adapter4);
listView4.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
Intent i = new Intent(Catalogue.this, FoodItem.class);
startActivity(i);
break;
case 1:
Intent i1 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i1);
break;
case 2:
Intent i2 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i2);
break;
case 3:
Intent i3 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i3);
break;
case 4:
Intent i4 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i4);
break;
}
}
});
break;
default:
ArrayList<Food> new_food5 = new ArrayList<Food>();
new_food5.add(new Food("Pizza", "probably attracts evryone", R.drawable.test));
new_food5.add(new Food("Pizza", "probably attracts evryone", R.drawable.test));
new_food5.add(new Food("Pizza", "probably attracts evryone", R.drawable.test));
new_food5.add(new Food("Pizza", "probably attracts evryone", R.drawable.test));
new_food5.add(new Food("Pizza", "probably attracts evryone", R.drawable.test));
FoodAdapter food_adapter5 = new FoodAdapter(this, new_food5);
ListView listView5 = (ListView) findViewById(R.id.food_list);
listView5.setAdapter(food_adapter5);
listView5.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
Intent i = new Intent(Catalogue.this, FoodItem.class);
startActivity(i);
break;
case 1:
Intent i1 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i1);
break;
case 2:
Intent i2 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i2);
break;
case 3:
Intent i3 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i3);
break;
case 4:
Intent i4 = new Intent(Catalogue.this, FoodItem.class);
startActivity(i4);
break;
}
}
});
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}
Это нижнее действие, которое должно открываться при щелчке по элементу в списке с заголовком по нажатию элемента
package com.anonymous.jit.caterers;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
public class FoodItem extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_food_item);
ImageView BackFromCatalogue = (ImageView) findViewById(R.id.BackFromFoodItem);
BackFromCatalogue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
TextView FITextview = (TextView) findViewById(R.id.app_title);
FITextview.setText(positionfinder());
}
public String positionfinder(){
return string;
}
}