でカスタムダイアログを使用します。その中は、私は、カスタムアダプタを使用してリストビューを作ってるんだ、リストビュー
が、私は各項目をクリックするとダイアログを表示したい(きっと、各リストで異なるダイアログ)。
ここに私のコードです。
MainActivity:
public class MainActivity extends AppCompatActivity {
ListView listView;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<MyCustomList> list = new ArrayList<MyCustomList>();
list.add(new MyCustomList("a", R.string.jangho_string1, R.string.jangho_string2, R.drawable.jangho));
list.add(new MyCustomList("b", R.string.dae_string1, R.string.dae_string2, R.drawable.dae));
list.add(new MyCustomList("c", R.string.an_string1, R.string.an_string2, R.drawable.an));
listView = (ListView)findViewById(R.id.listviewone);
MyCustomAdapter adapter = new MyCustomAdapter(getApplicationContext(), R.layout.listviewone, list);
listView.setAdapter(adapter);
}
}
MyCustomAdapter
public class MyCustomAdapter extends BaseAdapter {
Context ctx;
int layout;
ArrayList<MyCustomList> list;
LayoutInflater inf;
public MyCustomAdapter(Context ctx, int layout, ArrayList<MyCustomList> list){
this.ctx = ctx;
this.layout = layout;
this.list = list;
inf = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public View getView(final int position, View convertView, ViewGroup parent){
if(convertView == null){
convertView = inf.inflate(layout, null);
}
final View.OnClickListener makeListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
((Activity)ctx).showDialog(position);
}
};
convertView.setOnClickListener(makeListener);
return convertView;
}
protected Dialog onCreateDialog(int position){
Dialog dialog = null;
switch (position){
case 0:
break;
}
return dialog;
}
}
私は、Android Studioを使用しています。
http://coderzpassion.com/android-show-alertdialog/どこにこのコードでは、リストビューがありますか? –