我只是想知道.有没有办法使用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
我有一个字符串数组,我在我的应用程序中加载,它包含不同的单词.我有一个简单的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.util.logging并没有获得所需的功能.现在我解决了我的问题,但我想知道为什么android创建了两个Handler.我们错误地导入了错误的错误.与Fragment and Support Fragment相同.
搜寻未进行。所有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) 我已将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
我想从构建联系人选择器中读取联系人信息。我正在阅读电话号码,街道,电子邮件和地址。这是错误的。
以下是调用联系人选择器的代码:
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
有没有办法在 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 相同。
我有一个Activity底部有四个按钮的选项卡。通过按下任何按钮,一个新的 Fragment 会显示在这些按钮上方的 FrameLayout 中,就像我们在 TabActivity 中所做的那样。在这里查看我的问题。现在我想我应该找到一种方法来隐藏和显示这些片段。请告诉我如何在不重新加载的情况下显示和隐藏片段。
显示隐藏片段的主要目的是保持其当前状态。在我的一个片段中,每当我在片段之间切换时,我都会有一个 AsyncTask,它会再次调用该 AsynTask。
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中有任何其他创建块的方法.
我希望 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 个标题很小的标签。它们很容易适应屏幕。
使用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
我想从列表中删除所有值,除了那些只包含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)
但它会显示所有的问候,比如你好.
我想使用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) android ×11
java ×2
kotlin ×2
string ×2
back-stack ×1
block ×1
bouncycastle ×1
encryption ×1
filter ×1
firebase ×1
fragment ×1
handler ×1
interface ×1
ios ×1
progress ×1
r.java-file ×1
seekbar ×1
view ×1