Я пытаюсь изменить значок пользовательского списка, но он продолжает сбой. Как изменить значок для каждой страницы? например:Изменить значок в списке
Я попытался добавить значок в Forloop, но это просто заставляет его сбой, я также попытался выполнить его, но не смог найти ничего, что исправило бы мою проблему. Также я только недавно начал разрабатывать Android. Так что я не знаю об этом много.
Это текстовая страница, на которой установлен значок в виде текстового значка.
Это «Новости страницы» я хотел бы, чтобы иметь значок новостей, но теперь его так:
Это мой код, который я использовать для создания «Текстовой страницы»
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.comp_cont_bar);
ListView lv = (ListView) findViewById(R.id.lv1);
registerForContextMenu(lv);
mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipelayout);
mSwipeRefreshLayout.setOnRefreshListener(
new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
finish();
startActivity(getIntent());
}
}
);
try {
APIClient api = new APIClient();
JSONArray result = null;
try {
result = api.execute("http://test.soundwave.drieo.nl/api/content" + apikey).get();
}
catch (Exception e) {
e.printStackTrace();
}
List<CustomListView> contents = new ArrayList<CustomListView>();
for(int i = 0; i < result.length(); i++){
try {
JSONObject row = result.getJSONObject(i);
String content = row.optString("FormattedName");
String content2 = row.optString("CreatedBy");
String content3 = row.optString("Id");
CustomListView item = new CustomListView();
item.firstLine = content;
item.description = content2;
item.ID = content3;
contents.add(item);
} catch (JSONException e) {
e.printStackTrace();
}
}
ListAdapter theAdapter = new CustomAdapter(MainComp_Content.this, contents);
ListView theListView = (ListView) findViewById(R.id.lv1);
theListView.setAdapter(theAdapter);
theListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
TextView textView = (TextView) view.findViewById(R.id.tbid);
UID = textView.getText().toString();
Intent intent = new Intent(MainComp_Content.this, MainComp_Content_edit.class);
intent.putExtra("uid", UID);
startActivity(intent);
}
});
theListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
TextView textView = (TextView) view.findViewById(R.id.tbid);
UID = textView.getText().toString();
return false;
}
});
} catch (Exception e) {
e.printStackTrace();
}
Пользовательский адаптер код (где я объявили значок):
package nl.drieo.soundwave.test.cms;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;
public class CustomAdapter extends ArrayAdapter<CustomListView> {
public CustomAdapter(Context context, List<CustomListView> contents) {
super(context, R.layout.custom_row, contents);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater theInflater = LayoutInflater.from(getContext());
View theView = theInflater.inflate(R.layout.custom_row, parent, false);
CustomListView tvFirstItem = getItem(position);
TextView theTextView = (TextView) theView.findViewById(R.id.firstLine);
theTextView.setText(tvFirstItem.firstLine);
TextView theTextView2 = (TextView) theView.findViewById(R.id.secondLine);
theTextView2.setText(tvFirstItem.description);
TextView theTextView3 = (TextView) theView.findViewById(R.id.tbid);
theTextView3.setText(tvFirstItem.ID);
ImageView theImageView = (ImageView) theView.findViewById(R.id.icon);
theImageView.setImageResource(R.drawable.ic_content);
return theView;
}
}
Что вы пробовали? Можете ли вы опубликовать журнал? –
@YasirTahir Я попробовал добавить значок в цикле For, но он просто продолжает рушиться, я новый для android, поэтому у меня нет много опыта с этим материалом, как я могу опубликовать журнал? Вы имеете в виду код, который генерируется, когда я нажимаю кнопки на эмуляторе? Я также попытался google моя проблема, но не смог найти, что моя проблема исправлена на любой странице. – Robbert
На странице новостей вы используете тот же код, что и на тестовой странице? Брат, простое решение, когда ваша модель одинакова для обоих, состоит в том, чтобы иметь два разных адаптера один для списка тестовых страниц и другой для списка новостей.И немного сложное решение состоит в том, чтобы иметь две дополнительные поля в вашей модели и на основе этого решить, какое изображение отображать в этом случае. –