次のコードは現在、私のメインのonCreate()で実行されています。現在、テスト中です。目標は後でこれらを動的に更新できるようにすることですが、その方法を見つけることができないため、私はこれをAsyncTaskで実行しようとしています。誰かが何か洞察を持っているかどうか疑問に思いました。ありがとうございました!
LinearLayout ObjectLayout = (LinearLayout) findViewById(R.id.LayoutObjects);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
params.height = 140;
params.width = 140;
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
for (int i = 0; i < 10; i++) {
Button btn = new Button(this);
btn.setLayoutParams(params);
btn.setPadding(0, 50, 0, 0);
btn.setTextSize(14);
btn.setText("MyButton");
btn.setTextColor(color.Yellow);
// Drawable image = Drawable.createFromPath("@drawable/add_page");
// //
// btn.setBackgroundDrawable(image);
btn.setBackgroundDrawable(getResources().getDrawable(
R.drawable.add_page));
// btn.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
ObjectLayout.addView(btn);
}
private class GetDataTask2 extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
// Simulates a background job.
for (int i = 0; i < 10; i++) {
publishProgress(btn2);
}
return null;
}
protected void publishProgress(Button btn2) {
btn2.setLayoutParams(params2);
btn2.setPadding(0, 50, 0, 0);
btn2.setTextSize(14);
btn2.setText("MyButton yo yo yo ");
btn2.setTextColor(color.Yellow);
btn2.setBackgroundDrawable(getResources().getDrawable(
R.drawable.add_page));
ObjectLayout2.addView(btn2);
// Process width and height
}
protected void onPostExecute() {
// Do some stuff here
// Call onRefreshComplete when the list has been refreshed.
}
}
このコードは私が非同期として持っているものであり、これをテストして理解するために、メインアクティビティのインスタンスとしてレイアウトとボタンの作成を定義しましたが、エラーが発生し、操作していますが、何も機能しないようです。