Listelenen bir öğenin arka planını liste görünümünde değiştirebiliyorum. Liste oluşturulduğunda ilk öğenin arka planının vurgulanmasını istiyorum. Bir "performItemClick" gerçekleştirmeye çalıştığımda aşağıdaki kod hata veriyor.Oluşturulduğunda liste görünümünün ilk öğesini vurgulayın
Dizi bağdaştırıcımdaki getView'imi değiştirmeye yönelik önerileri gördüm. Ancak, java kodumda MyCustomAdapter sınıfını oluşturmaya çalıştığımda Android.widget.ArrayAdapter'de varsayılan yapı hatası yok.
Bunu yapmak için ArrayAdapter sınıfımın bir uzantısını oluşturmanız gerekirse, nasıl bu hata dolaşırsınız. Ben önerilere açığım başka yolu varsa.
Teşekkür
package com.hofficer.aclsfast;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.graphics.Color;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import java.lang.reflect.Array;
public class NarrowChild extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_narrow_child);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
//fix orientation
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//MyCustomAdapter adapter = new MyCustomAdapter();
createList();
}
/*
class MyCustomAdapter extends ArrayAdapter{
}*/
void createList(){
String[] narrowChoices = {"aFib/Flutter", "Narrow Cmplx Tachycardia", "PSVT", "Junctional Tachycardia", "Multifocal Tachycardia"};
ListAdapter theAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, narrowChoices);
final ListView listview = (ListView) findViewById(R.id.narrowListView);
listview.setAdapter(theAdapter);
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
//clear menu and highlight selected item
for (int i = 0; i < 5; i++) {
listview.getChildAt(i).setBackgroundColor(Color.WHITE);
}
listview.getChildAt(position).setBackgroundColor(Color.CYAN);
}
});
Boolean result = listview.performItemClick(listview,0,0); //THIS GIVES ERROR NULL POINT EXCEPTION
}
}
Bunun için bir CustomArrayAdpter kullanın? – Krish
Bunu nasıl yaparım? Etkinlik sınıfım içinde bir sınıf yapmayı denedim, ancak ilk soruda bahsettiğim hatayı alıyorum. – imsmooth
Gereksiniminiz, her zaman ilk satırı vurgulamaktır? – Krish