我正在创建(或试图)当用户点击播放视频时弹出的警告对话框,如果存在已保存的简历点,则会给出选择重新开始,重新开始或取消操作。由于我想在对话框中包含恢复时间(例如“从08:32恢复播放”)带阵列适配器的警报对话框没有捕获点击
对话框显示正确的项目,格式正确,但点击时没有任何反应。我想知道我哪里出了问题。
Java代码:
final ArrayAdapter<String> itemVals = new ArrayAdapter<>(Docket.CURRENT_CONTEXT,
R.layout.adapter_simple_list_item, R.id.list_item);
String optionStartBeginning = getString(R.string.media_play_no_resume);
itemVals.add(optionStartBeginning);
if (CastingBridge.getHasResume()) {
String optionResume = "Resume playback from "+ StringFormatter.intMsTimeToString(CastingBridge.RESUME_TIME);
itemVals.add(optionResume);
}
itemVals.add(getString(R.string.cancel));
AlertDialog.Builder builder = new AlertDialog.Builder(Docket.CURRENT_CONTEXT);
builder.setTitle(R.string.resume_offer_title)
.setAdapter(itemVals, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i(TAG, "onClick: Chosen idx is "+ which);
}
}).setCancelable(true);
AlertDialog alert = builder.create();
alert.show();
且布局文件R.layout.adapter_simple_list_item
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<com.rey.material.widget.TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
style="@style/Material.Drawable.Ripple.Touch.MatchView"
app:rd_enable="true"
android:id="@+id/list_item"
android:text="@string/test_string"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:paddingLeft="24dp"
android:paddingRight="24dp"
android:textSize="18sp" />
</LinearLayout>
上点击发生的唯一的事情是,这是印在logcat中:
D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
任何明显的错误,我不知道? 在此先感谢您的任何答案。
logcat中的“D/ViewRootImpl:ViewPostImeInputStage ACTION_DOWN”除点击事件之外仍然没有反应:( – mwieczorek
您可以尝试使用Default TextView ? – MathaN
与默认的TextView相同的结果(或缺少) – mwieczorek