選択不可のリスト項目を指定する事ができます
前回のリスト項目のレイアウトを自由にカスタマイズ(2)を参照し
選択不可の項目を作ります
前回作成したListMemberAdapterの中に以下のものを追記します
public boolean isEnabled(int position) { if (position == 0) return false; else return true; }すると1番目のリスト項目(position = 0)が選択できなくなります
これは(position+1)番目の項目を選択不可にするものです
一応javaプログラム全体をのせます
package blog.test; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; public class MainActivity extends Activity { //独自クラスMemberを作成 private class Member { private String name,team; private int number; public Member(String name, int number , String team) { this.name = name; this.number = number; this.team = team; } public String getName() { return name; } public int getNumber() { return number; } public String getTeam() { return team; } } //BaseAdapterを拡張した独自Adapterの定義 private class ListMemberAdapter extends BaseAdapter { private Context context; private Listlist; public ListMemberAdapter(Context context) { super(); this.context = context; //ListにMemberを追加する //追加にはMemberクラスを使用 list = new ArrayList (); list.add(new Member("Ichiro", 51,"Mariners")); list.add(new Member("Matsui", 55,"Rays")); list.add(new Member("Darvish", 11,"Rangers")); } //選択不可の項目を作成 public boolean isEnabled(int position) { if (position == 0) return false; else return true; } public int getCount() { return list.size(); } public Object getItem(int position) { return list.get(position); } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { Member member = (Member) getItem(position); TextView tvName,tvNumber,tvTeam; View v = convertView; if(v==null){ LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = inflater.inflate(R.layout.list, null); } if(member != null){ tvName = (TextView) v.findViewById(R.id.textView1); tvNumber = (TextView) v.findViewById(R.id.textView2); tvTeam = (TextView) v.findViewById(R.id.textView3); tvName.setText("Name : "+member.getName()); tvNumber.setText("Number : "+String.valueOf(member.getNumber())); tvTeam.setText("Team : "+member.getTeam()); } return v; } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ListView lv = new ListView(this); setContentView(lv); lv.setAdapter(new ListMemberAdapter(this)); } }
スポンサードリンク