我想在AlertDialog中添加一个垂直滚动条,因为我的文字太长而无法在1个屏幕上显示:
我试过用:
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true"
Run Code Online (Sandbox Code Playgroud)
但滚动条甚至不显示?
这是我正在使用的xml布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:id="@+id/instructions_view" >
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A LONG TEXT 1"/>
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A LONG TEXT 2"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我用以下方法调用AlertsDialog:
public void onClick(View v) {
switch(v.getId()){
case R.id.Button_Instructions:
InstructionsDialog();
break;
case R.id.Button_Exit:
ExitDialog();
break;
}
}
public void InstructionsDialog(){
AlertDialog.Builder ad = new AlertDialog.Builder(this);
ad.setIcon(R.drawable.icon);
ad.setTitle("Instructions ...");
ad.setView(LayoutInflater.from(this).inflate(R.layout.instructions_dialog,null));
ad.setPositiveButton("OK",
new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
// OK, go back to Main menu
} …Run Code Online (Sandbox Code Playgroud) 我有一个List视图,我通过mysql数据库填充行.
这是我所做的一切:
您看到的这些名称来自我的数据库,而PLAY ImageView来自我的布局列表,显示在每一行中(当我向我的数据库中添加一行时).
现在我的问题是当我将点击监听器设置为该播放按钮时(目的是将其切换为暂停ImageView等).它还会从另一行更改另一个播放按钮,但不是全部.因此,我认为我没有得到这个职位,对吗?请帮帮我吧!
这是我的片段:
public class XXXUpdatesFragment extends Fragment implements AsyncResponse
,AdapterView.OnItemClickListener{
View view ;
private ArrayList<Product> productList;
private ListView lvProduct;
private FunDapter<Product> adapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.xxx_updates_layout, container, false);
ImageLoader.getInstance().init(UILConfig.config(getActivity()));
lvProduct = (ListView)view.findViewById(R.id.lvProduct);
PostResponseAsyncTask taskRead = new PostResponseAsyncTask(getActivity(), this);
taskRead.execute("http://symphonyrecords.6te.net/product.php");
return view;
} //onCreate
@Override
public void processFinish(String s) {
productList = new JsonConverter<Product>().toArrayList(s, Product.class);
BindDictionary<Product> dict = new BindDictionary<Product>();
dict.addStringField(R.id.tvName, new …Run Code Online (Sandbox Code Playgroud) android listview adapter android-arrayadapter android-adapter
我正在使用默认的弹出菜单。我已经用 XML 样式对其进行了自定义,现在它具有深色样式。但我现在有一个问题:请看我准备的这个屏幕截图:
正如您所看到的,箭头有点难以看到,我现在真的希望避免使用弹出窗口。有什么办法可以将其更改为白色箭头吗?
我刚刚将 Android Studio 更新到v3.4.1
现在我无法在设置 minifyEnabled 时生成签名的应用程序 true
我知道现在默认的代码压缩器是R8。正如日志所说,这就是问题所在。如果 minifyEnabled 设置为 ,我可以毫无问题地生成签名的应用程序false。
这发生在我所有的项目中。
继续运行:
我该如何解决?谢谢你
构建.gradle
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
Run Code Online (Sandbox Code Playgroud)
proguard-rules.pro
-dontobfuscate
Run Code Online (Sandbox Code Playgroud)
完整日志
org.gradle.internal.exceptions.LocationAwareException: Execution failed for task ':app:transformClassesAndResourcesWithR8ForRelease'.
at org.gradle.initialization.exception.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:99)
at org.gradle.initialization.exception.DefaultExceptionAnalyser.collectFailures(DefaultExceptionAnalyser.java:65)
at org.gradle.initialization.exception.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:39)
at org.gradle.initialization.exception.StackTraceSanitizingExceptionAnalyser.transform(StackTraceSanitizingExceptionAnalyser.java:29)
at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:174)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:165)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:134)
at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:58)
at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:55)
at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:82)
at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:75)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:183)
at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40) …Run Code Online (Sandbox Code Playgroud) 我有一个需要CAMERA和WRITE_SETTINGS权限的手电筒,我需要先处理这些权限,我已经知道如何做到这一点,那么如果是理所当然的,例如,开始我的主要活动......(对不起,我在新安卓)
我有一个带有一些名称和网址的列表视图。我的应用程序启动后,我检查本地数据库中是否有任何记录。所以如果有的话,首先清除我的旧记录,然后用列表视图数据填充表列,如果不只是插入数据......我就是这样做的:
List<LocalProduct> allAuthors = LocalProduct.listAll(LocalProduct.class);
if (allAuthors == null) {
for (int allList=0;allList<adapter.getCount();allList++){
Product my = adapter.getItem(allList);
String offline_name = my.name.toString().trim();
String offline_url = my.image_url.toString().trim();
LocalProduct book = new LocalProduct(offline_name, offline_url);
book.save();
}
}else {
/*
SugarContext.terminate();
SchemaGenerator schemaGenerator = new SchemaGenerator(getContext());
schemaGenerator.deleteTables(new SugarDb(getContext()).getDB());
SugarContext.init(getContext());
schemaGenerator.createDatabase(new SugarDb(getContext()).getDB());
*/
for (int allList=0;allList<adapter.getCount();allList++){
Product my = adapter.getItem(allList);
String offline_name = my.name.toString().trim();
String offline_url = my.image_url.toString().trim();
LocalProduct book = new LocalProduct(offline_name, offline_url);
book.save();
}
}
Run Code Online (Sandbox Code Playgroud)
我的代码的注释区域将删除并重新创建表,这每次都会导致延迟......我怎么能删除我的记录!?