小编S.R*_*S.R的帖子

将垂直滚动条添加到Android中的AlertDialog?

我想在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)

android dialog scrollbar

20
推荐指数
2
解决办法
4万
查看次数

在listview中获取imageview位置

我有一个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

5
推荐指数
1
解决办法
130
查看次数

更改默认弹出菜单子菜单箭头

我正在使用默认的弹出菜单。我已经用 XML 样式对其进行了自定义,现在它具有深色样式。但我现在有一个问题:请看我准备的这个屏幕截图:

在此输入图像描述

正如您所看到的,箭头有点难以看到,我现在真的希望避免使用弹出窗口。有什么办法可以将其更改为白色箭头吗?

xml android popup popupmenu

5
推荐指数
1
解决办法
1164
查看次数

使用 R8 混淆应用程序导致超出 GC 开销限制

我刚刚将 Android Studio 更新到v3.4.1

现在我无法在设置 minifyEnabled 时生成签名的应用程序 true

我知道现在默认的代码压缩器是R8。正如日志所说,这就是问题所在。如果 minifyEnabled 设置为 ,我可以毫无问题地生成签名的应用程序false

这发生在我所有的项目中。

继续运行:

  • 视窗 10 64 位
  • 内存 8 GB
  • 英特尔 i5 2320 处理器

我该如何解决?谢谢你


构建.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)

obfuscation android android-studio android-r8

5
推荐指数
1
解决办法
1643
查看次数

启动时的运行时权限

我有一个需要CAMERA和WRITE_SETTINGS权限的手电筒,我需要先处理这些权限,我已经知道如何做到这一点,那么如果是理所当然的,例如,开始我的主要活动......(对不起,我在新安卓)

android android-6.0-marshmallow runtime-permissions

4
推荐指数
1
解决办法
2076
查看次数

删除 Sugar ORM 数据库表记录

我有一个带有一些名称和网址的列表视图。我的应用程序启动后,我检查本地数据库中是否有任何记录。所以如果有的话,首先清除我的旧记录,然后用列表视图数据填充表列,如果不只是插入数据......我就是这样做的:

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)

我的代码的注释区域将删除并重新创建表,这每次都会导致延迟......我怎么能删除我的记录!?

database android listview sugarorm

2
推荐指数
1
解决办法
3831
查看次数