好吧,我試圖做一個列表視圖,列出一些地方,每個項目將有一個圖片(ImageVew)和一個TextView,當一個地方被擊中時,一個AlerDialog框將出現信息(每個地方的不同信息)。我知道如何製作列表視圖...但我不知道如何使它可點擊並顯示帶有差異信息的對話框窗口......我還需要一個適配器。是有可能做到這一點?如果是這樣的話?怎麼樣?比你TextView與AlerDialog
0
A
回答
1
在我的情況下,圖像是一個複選框。
的XML可能是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<CheckBox android:id="@+id/check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@android:drawable/btn_star"
android:focusable="false"/>
<TextView android:id="@+id/label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="5px"
android:layout_marginTop="6px"
android:layout_toRightOf="@+id/check"
android:textSize="25px"
android:focusable="false"/>
</RelativeLayout>
你需要像一個適配器:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final Object np = getItem(position);
View view = null;
if (convertView == null) {
LayoutInflater inflator = (LayoutInflater) getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflator.inflate(R.layout.listitem, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView) view.findViewById(R.id.label);
viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check);
view.setTag(viewHolder);
viewHolder.checkbox.setTag(np);
} else {
view = convertView;
((ViewHolder) view.getTag()).checkbox.setTag(np);
}
final ViewHolder holder = (ViewHolder) view.getTag();
holder.text.setText(np.toString);
holder.text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
[Create the Dialog]
}
});
holder.checkbox
.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
[do something]
}
});
return view;
}
static class ViewHolder {
protected TextView text;
protected CheckBox checkbox;
}
1
對列表視圖點擊添加事件偵聽器:
getListView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// you create your dialog here
}
});
來創建一個對話框:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("your_message_here")
.setPositiveButton(getResources().getString(R.string.ok),
dialogClickListener).setCancelable(false).show();
相關問題
- 1. 自定義AlerDialog
- 2. Alerdialog用的GridView(Imageadpater)
- 3. 複選框和AlerDialog
- 4. NPE同時創造alerdialog
- 5. <textview></textview>與<textview />
- 6. Android ALerDialog - 無法添加窗口異常
- 7. 沒有按鈕多麼接近alerdialog
- 8. WebView沒有顯示在AlerDialog中
- 9. 來自其他類的AlerDialog調用
- 10. Linkify與TextView
- 11. 錯誤與TextView
- 12. TextView與permenant http://
- 13. Android setContentView與Textview
- 14. TextView與html表
- 15. 與textview倒計時
- 16. textView與截斷swift
- 17. RelativeLayout與ImageView和TextView
- 18. Android的LinearyLayout與TextView
- 19. FrameLayout與TextView底部
- 20. 細胞與TextView的
- 21. TextView與ImageSpan混淆線高
- 22. TextView不會更新與SlidingMenu
- 23. SimpleCursorAdapter與SQLite的ImageView和TextView
- 24. Android textview與imageview重疊
- 25. 更新TextView每秒與ScheduledThreadPoolExecutor
- 26. onClickListener couses崩潰與TextView的
- 27. TextView與鍵盤隱藏
- 28. 問題與TextView對齊android
- 29. TextView與gravity = center和ellipsize = marquee?
- 30. android textview與橢圓形