Я просто хочу listview с подэлементами. Поэтому я решил переопределить arrayadapter так:Listview with Subitems: Array Adapter Overriding не работает
ArrayAdapter adapter = new ArrayAdapter(context, android.R.layout.simple_list_item_2, android.R.id.text1, list) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text1 = (TextView) view.findViewById(android.R.id.text1);
TextView text2 = (TextView) view.findViewById(android.R.id.text2);
text1.setText("TEST1");
text2.setText("TEST2");
return view;
}
};
Проблема заключается в Android Studio всегда говорит: не может разрешить символ «контекст»
Что я могу сделать против этого или делать у вас есть другое решение для моего проблема?
Полный Класс:
public class ChangelogActivity extends AppCompatActivity {
ArrayAdapter<String> adapter;
ArrayList<String> items;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_changelog);
final ListView listviewChangelog = (ListView) findViewById(R.id.listviewChangelog);
items=new ArrayList<String>();
adapter=new ArrayAdapter(this, R.layout.menu_item,R.id.lvmenuitems,items);
listviewChangelog.setAdapter(adapter);
ArrayAdapter adapter = new ArrayAdapter(context, android.R.layout.simple_list_item_2, android.R.id.text1, list) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text1 = (TextView) view.findViewById(android.R.id.text1);
TextView text2 = (TextView) view.findViewById(android.R.id.text2);
text1.setText("TEST1");
text2.setText("TEST2");
return view;
}
};
String url = "PLACEHOLDER";
JsonArrayRequest getRequest = new JsonArrayRequest(url,
new Response.Listener<JSONArray>()
{
@Override public void onResponse(JSONArray response) {
//Log.d("Response", response.toString());
for (int i=0; i < response.length(); i++)
{
try {
JSONObject oneObject = response.getJSONObject(i);
// Pulling items from the array
String Version = oneObject.getString("version");
String change_mission = oneObject.getString("change_mission");
String change_map = oneObject.getString("change_map");
String change_mod = oneObject.getString("change_mod");
String note = oneObject.getString("note");
if(Version != "" || Version != ";")
{
items.add("Update: " + Version);
}
if(Version != "" || Version != ";")
{
items.add("Mission: " + change_mission);
}
if(Version != "" || Version != ";")
{
items.add("Map:" + change_map);
}
if(Version != "" || Version != ";")
{
items.add("Mod:" + change_mod);
}
if(Version != "" || Version != ";")
{
items.add("Notiz:" + note);
}
items.add("----------------------------------------------------");
adapter.notifyDataSetChanged();
} catch (JSONException e) {
//Not used at this time
}
}
}
},
new Response.ErrorListener()
{
@Override public void onErrorResponse(VolleyError error) {
Log.d("Error.Response", error.toString());
//mTextView.setText(error.toString());
}
}
);
MySingleton.getInstance(this).addToRequestQueue(getRequest);
}
}
Попробуйте 'YourActivtyName.this' вместо' context'. –
@KNeerajLal Не работает – emt1803
использовать recyclerview лучше, чем ListView –