小编Xar*_*mer的帖子

以编程方式获取for循环中的视图ID?

我只是想知道.有没有办法使用for循环创建一个id

我在xml中有10个按钮.有ID是button1,button2,button3... button10 现在,我创建按钮的数组java class,并像这样做

public class Menu extends Activity
{
    Button[] arrayButton=new Button[10];

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu);

        init();
    }

    private void init()
    {
        for(int i=1 ; i<9 ; i++)
        {
            String abc = "but"+String.valueof(i);
            int x = Integer.parseInt(abc);


            Log.d("abc", abc);

            Log.d("x", String.valueOf(x) );

            //arrayButton[i] = (Button) findViewById(R.id.x);  // giving error 

            //arrayButton[i].setText("Hello:");
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我想知道我该怎么做这种工作.使用for循环获取所有按钮可以使我的工作更快,有时我想设置所有按钮的文本.

android view r.java-file android-resources android-identifiers

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

Java String - 查看字符串是否仅包含数字和字符而不包含单词?

我有一个字符串数组,我在我的应用程序中加载,它包含不同的单词.我有一个简单的if语句,看它是否包含字母或数字但不包含单词.

我的意思是我只希望那些话是像AB2CD5X ..我想删除像所有换句话说Hello 3,3 word,any other也就是说这是一个英语单词.除了那些包含真实语法单词的单词之外,是否可以只过滤alphaNumeric单词.

我知道如何检查字符串是否包含字母数字

Pattern p = Pattern.compile("[\\p{Alnum},.']*");
Run Code Online (Sandbox Code Playgroud)

也知道

 if(string.contains("[a-zA-Z]+") || string.contains([0-9]+])
Run Code Online (Sandbox Code Playgroud)

java string filter

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

android.os.Handler和java.util.logging.Handler之间的区别?

问题几乎总结了它.我错误地导入java.util.logging并没有获得所需的功能.现在我解决了我的问题,但我想知道为什么android创建了两个Handler.我们错误地导入了错误的错误.与Fragment and Support Fragment相同.

android handler

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

垂直Seekbar setProgress无法正常工作

搜寻未进行。所有seekbar变为零,但textView正确显示了值。

choosePreset.setOnClickListener(new OnClickListener()
{
    @Override
    public void onClick(View arg0)
    {   
        LayoutInflater inflater = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE));
        View customView = inflater.inflate(R.layout.preset_list, null, false);
        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setView(customView);

        final String[] arr= getEqualizerPresets();

        ArrayAdapter<String> namesAA= new ArrayAdapter<String> ( context,R.layout.myitemlist,arr );
        ListView list = (ListView) customView.findViewById(R.id.mylist);
        list.setAdapter(namesAA);

        final AlertDialog ad = builder.create();

        list.setOnItemClickListener(new OnItemClickListener() 
        {
            public void onItemClick(AdapterView<?> parent, View view, final int position, long id) 
            {
               Toast.makeText(context, "Position"+position, Toast.LENGTH_LONG).show();

               //equalizerWrapper.usePreset((short)arr[position]);

                    for(int v=0;v<eqSeeks.length;v++)
                    {
                    //  equalizerSeeks(v, eqSeeks[v]);
                        final int z = v;
                        eqSeeks[v].post(new …
Run Code Online (Sandbox Code Playgroud)

android progress seekbar

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

在Activity中获取Fragment实例

我已将Fragment添加到Activity中

getSupportFragmentManager().beginTransaction()
                    .add(R.id.container,new MyFragment).commit();
Run Code Online (Sandbox Code Playgroud)

在哪里container是的FrameLayout

 <FrameLayout
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)

现在我怎么能像这样在Activity中 获得Fragment的实例

我必须Fragment A在获得结果后调用一种方法Fragment B.

我在Fragment B中创建了一个接口,并在Activity.Now中实现了它.我必须将结果传递给Fragment A.我无法获得Fragment A的实例.

我不想做的一件事是在Activity中创建片段A的私有实例并调用它的方法.

android interface android-fragments fragmentmanager android-framelayout

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

使用Intent.ACTION_PICK读取电话号码和地址

我想从构建联系人选择器中读取联系人信息。我正在阅读电话号码,街道,电子邮件和地址。这是错误的。

以下是调用联系人选择器的代码:

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
context.startActivityForResult(contactPickerIntent, REQUEST_ID_CONTACT_PICKER); 
Run Code Online (Sandbox Code Playgroud)

以下是OnActivityResult方法的代码,其中我是fetching contact来自光标的信息:

Uri contactURI = intent.getData();
                    Cursor cursor = activity.getContentResolver().query(contactURI, null, null, null, null);
int count = cursor.getCount();
// here value of count is 1, so need to do cursor.moveToNext() to go to selected record.
if (cursor.moveToNext()) {
            String givenName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
            String familyName =  cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
            String displayName =  cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME));
            String middleName =  cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME));

            int contactType = cursor.getInt(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
            String phoneNo = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
            String poBox …
Run Code Online (Sandbox Code Playgroud)

android android-contentprovider android-contacts android-contact-mimetype

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

获取集合 startAfter documentID

有没有办法在 documentID 之后获取文档,例如

private fun fetchCollectoionnAfterDocumentID(limit :Long){

        val db = FirebaseFirestore.getInstance()
        var query:Query = db.collection("questionCollection")
            .startAfter("cDxXGLHlP56xnAp4RmE5") //
            .orderBy("questionID", Query.Direction.DESCENDING)
        .limit(limit)

        query.get().addOnSuccessListener {
            var questions = it.toObjects(QuestionBO::class.java)
            questions.size
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想在给定的Document ID之后获取排序的问题。我知道我可以使用DocumentSnapShot. 为了第二次或在应用程序恢复后获取,我必须将其保存DocumentSnapshot在首选项中。

可以在文档 ID 之后获取吗?

startAfter - > cDxXGLHlP56xnAp4RmE5

编辑 我知道我可以使用lastVisible DocumentSnapshot做到这一点。但我必须将lastVisible DocumentSnapshot保存在sharedPreference.

当应用程序首次启动时,从questionCollection中获取 10 个问题。下次必须在这些之后再提取 10 个问题lastVisible。因此,为了获取下一个 10,我必须将 DocumentSnapshot 对象保存在 sharedPreference 中。在看到我的数据库结构后建议我一个更好的方法。

还有一件事 questionID 与文档参考 ID 相同。

在此处输入图片说明

kotlin firebase google-cloud-firestore

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

如何显示隐藏片段?

我有一个Activity底部有四个按钮的选项卡。通过按下任何按钮,一个新的 Fragment 会显示在这些按钮上方的 FrameLayout 中,就像我们在 TabActivity 中所做的那样。在这里查看我的问题。现在我想我应该找到一种方法来隐藏和显示这些片段。请告诉我如何在不重新加载的情况下显示和隐藏片段。

显示隐藏片段的主要目的是保持其当前状态。在我的一个片段中,每当我在片段之间切换时,我都会有一个 AsyncTask,它会再次调用该 AsynTask。

android fragment back-stack

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

如何在android中实现块

In IOS we use blocks when we want to handle an action when a particular situation occur.

在android中有没有这样的方法来处理onCompletion的情况,我们可以添加它在哪里.

AsyncTask方法一样,它知道工作何时完成.它执行onPostExecute.当特定情况到达时我们如何创建这种类型的方法,我们就像处理它一样.

今天我找到了一种在IOS中表现得像Block的方式

BaseAsyncTask(new Callback(){

onPostResult(string result)
{
// do whatever you want to do with the result got from asynctaks
}
});
Run Code Online (Sandbox Code Playgroud)

它是一个委托,它在达到特定情况时调用..

我是正确的,上面的代码是我们在IOS中的块中的块.或者在android中有任何其他创建块的方法.

android block ios android-asynctask

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

在 Tablayout 中制作可滚动或固定模式以获得动态数量的标签

我希望 tabMode可滚动,tabFilled with tabs (有单行标题)。由于 Tab 的数量及其标题在我的应用程序中是动态的。当我设置给定的属性时,我该如何处理它们。选项卡的标题来自两行。当标签数更大时。

    app:tabGravity="fill"
    app:tabMaxWidth="0dp"
    app:tabMode="fixed"
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Tabs数量较少时,TabMode设置为可滚动。然后额外的空间如下所示。 在此处输入图片说明

我怎样才能让 Tablayout 在所有手机和一行文本中工作。只需删除第二个屏幕的空格并为第一个图像制作单行。

我知道我必须这样做,change it's tabMode and tabGravity for these two cases但我怎么知道何时更改它的 tabMode 和 tabGravity。可能我只有三个选项卡,但它们的标题很长,而且它们填满了整个空间。有时我们有 5 个标题很小的标签。它们很容易适应屏幕。

android android-tablayout

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

实现 Paging Library 3.0 过滤/搜索功能

使用paging 3.0,我成功地实现了它。现在我想为其添加搜索功能。

我只是显示照片库以及分页功能。现在我想在有人搜索时使分页无效

但每当我在搜索上调用无效时。应用程序崩溃..

照片片段.kt

@AndroidEntryPoint
class PhotosFragment : BaseFragment<FragmentPhotosBinding,PhotosFragmentViewModel>(R.layout.fragment_photos),
    SearchView.OnQueryTextListener, LifecycleObserver {
    override val mViewModel: PhotosFragmentViewModel by viewModels()

    private lateinit var photoAdapter: PhotoCollectionAdapter

    override fun onAttach(context: Context) {
        super.onAttach(context)
        activity?.lifecycle?.addObserver(this)
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        setHasOptionsMenu(true)
        ///mViewModel.setFilter(getString(R.string.search_filter_default_value))
        initAdapter()
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
    fun onCreated(){
        mViewModel.trendingPhotos.observe(viewLifecycleOwner, Observer {
            photoAdapter.submitData(lifecycle,it)
        })
    }

    private fun initAdapter() {
        photoAdapter = PhotoCollectionAdapter()
        photoAdapter.stateRestorationPolicy = RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY

        mBinding.recyclerView.apply {
            layoutManager = LinearLayoutManager(context)
            setHasFixedSize(true)
            adapter = photoAdapter
        }

        photoAdapter.addLoadStateListener { loadState -> …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-viewmodel android-paging android-paging-3

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

如果ArrayList <String>包含除数字以外的单词,则删除它们的值

我想从列表中删除所有值,除了那些只包含Numbers.像123222

 private ArrayList<String> filters(ArrayList<String> resulting) {

    String regex = "[0-9]+"; 

    ArrayList<String> abc =resulting;

    for(String x : resulting)
    {
        if(!x.matches(regex))
        {
            abc.remove(x);
        }
    }
    return abc;
}
Run Code Online (Sandbox Code Playgroud)

我在这传递这个..

 if (results != null) {
            options.setAdapter(new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1, filters(results)));
        }
Run Code Online (Sandbox Code Playgroud)

我打电话给它 filters(results)

但它会显示所有的问候,比如你好.

java string android

0
推荐指数
1
解决办法
265
查看次数

使用 ChaCha20 加密和解密字符串

我想使用chacha20解密和加密字符串

BouncyCastleProvider 正在使用 chacha20 技术。所以我把它包括在罐子里。并尝试了代码但无法工作。

测试版

public class PBE extends AppCompatActivity {

    private static final String salt = "A long, but constant phrase that will be used each time as the salt.";
    private static final int iterations = 2000;
    private static final int keyLength = 256;
    private static final SecureRandom random = new SecureRandom();

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pbe);

        try {
            Security.insertProviderAt(new BouncyCastleProvider(), 1);
            //Security.addProvider(new BouncyCastleProvider());

            String passphrase = "The quick brown fox jumped …
Run Code Online (Sandbox Code Playgroud)

encryption android bouncycastle

0
推荐指数
1
解决办法
7147
查看次数