ListFragment
として表示することは可能Dialog
ですか? それとも方法がなく、自分自身のListView
、空TextView
で不確定なものを自分のProgressBar
中に実装する必要がありDialogFragment
ますか?
3030 次
2 に答える
7
別のオプション:
ビルド ダイアログ フラグメント:
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
public class ListDialogFragment extends DialogFragment {
private OnListDialogItemSelect listener;
private String title;
private String[] list;
public ListDialogFragment(OnListDialogItemSelect listener, String[] list, String title) {
this.listener=listener;
this.list=list;
this.title=title;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
.setTitle(title)
.setCancelable(false)
.setItems(list, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
listener.onListItemSelected(list[item]);
getDialog().dismiss();
ListDialogFragment.this.dismiss();
}
}).create();
}
public interface OnListDialogItemSelect{
public void onListItemSelected(String selection);
}
}
このようなフラグメントアクティビティで:
public class YourActivity extends FragmentActivity implements OnListDialogItemSelect{
private void showCountryFragment(){
FragmentManager fm = getSupportFragmentManager();
ListDialogFragment newFragment = new ListDialogFragment(this,getCountries(),"Country:");
newFragment.show(fm, "country_picker");
}
@Override
public void onListItemSelected(String selection) {
_bt_country.setText(selection);
}
}
于 2013-05-08T00:46:09.637 に答える
1
ListFragment で動作するかどうかはよくわかりませんが、次のようにマニフェスト ファイルのアクティビティにテーマを適用することで、アクティビティを Dialog として表示できます。
<activity android:theme="@android:style/Theme.Dialog" />
ListFragment を試してみて、うまくいくかどうか教えてください。
ありがとうございました。
于 2012-09-20T16:35:07.997 に答える