我RelativeLayout在xml布局文件中声明了一个.现在我想Views从代码添加到现有的布局.我Button通过代码动态地添加了一个动态到这个现有的布局:
rLayout = (RelativeLayout)findViewById(R.id.rlayout);
LayoutParams lprams = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
Button tv1 = new Button(this);
tv1.setText("Hello");
tv1.setLayoutParams(lprams);
tv1.setId(1);
rLayout.addView(tv1);
Run Code Online (Sandbox Code Playgroud)
现在我需要Button在已添加的右侧添加另一个Button.我无法找到我可以在之前添加的按钮右侧添加新的方式.
我通过代码而不是XML动态创建按钮.
代码如下:
dynamicview = (LinearLayout)findViewById(R.id.llayout);
LinearLayout.LayoutParams lprams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
for(int i=0;i<nob;i++){
Button btn = new Button(this);
btn.setId(i+1);
btn.setText("Button"+(i+1));
btn.setLayoutParams(lprams);
dynamicview.addView(btn);
}
Run Code Online (Sandbox Code Playgroud)
我没有找到一种方法可以为每个按钮实现OnClickListener,以便我可以根据我得到的引用执行操作.
任何人都可以帮我解决这个问题.?
提前致谢,
我使用ArrayAdapter实现了ListView.每个listItem(行)都包含EditText.
当我尝试编辑EditText的文本时,我无法做到这一点,因为每当键盘出现时调用getView()方法并且我无法编辑文本.
任何人都可以帮我解决这个问题.
提前致谢
我有一个问题,我需要从Android AsyncTask的onPostExecute()方法访问我的Activity中的方法
我有2个活动都包含一个常用方法如下:
(1)Activity1 - > refreshUI()
(2)Activity2 ----> refreshUI()
我有一个AsyncTask调用GetDataAsyncTask(Activity a )将调用活动作为参数
现在从我的活动1我将打电话给新的GetDataAsyncTask(Activity1.this).execute.
与我的活动2相同,我会打电话给新的GetDataAsyncTask(Activity2.this).execute.
我的AsyncTask如下:
public class GetDataAsyncTask extends AsyncTask<String ,Void , String> {
public Activity context;
public PostAsyncTaskHelper(Activity c) {
context = c;
}
protected String doInBackground(String... arg0) {
// Webservice calls
}
protected void onPostExecute(String result) {
if(result.equals("qq")) {
//Where I am not able to access refreshUI()
//method of any one of my activities
context.refreshUI()
}
} …Run Code Online (Sandbox Code Playgroud) android android-widget android-emulator android-intent android-layout