小编Jor*_*sys的帖子

回调参考旧片段的方法

我有一个包含Fragment的片段活动,Fragment启动一个下载一些数据的Asynctask,我在Fragment中实现了一个回调方法,它更新了适配器和listview中的一些值.我遇到的问题如下:这是我的onCreateView方法(重要部分):

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    list=(PullToRefreshListView)v1.findViewById(R.id.listapull);
    adapterList=new ListViewAdapter(secciones, mContext);
}
Run Code Online (Sandbox Code Playgroud)

当我在AsyncTask运行时旋转设备时,doInBackground()方法继续运行,然后在执行后它触发侦听器并在我的片段中启动回调方法,此方法具有我的适配器和列表视图的旧引用: 在此输入图像描述

当方向发生变化并且这是正确的时,会重新创建片段及其内容,但有没有人知道为什么回调方法保持对适配器和listview的引用,以及在方向更改之前创建的位置?

编辑:

我有一个执行asynctask的按钮,如下所示:

asyncRefresh = new PullRefreshTask(taskContext, mContext, secciones);
asyncRefresh.setUpdatePull2RefreshListener(this);
asyncRefresh.execute();
Run Code Online (Sandbox Code Playgroud)

如果用户按下按钮,asyncTask会将旧的Fragment设置为侦听器,并且当asynctask运行时发生方向更改时,我认为激活的回调方法是新创建的片段方法中的方法,但我不确定了.

编辑2:

我已经解决了我的问题,正如我在第一次编辑中所说的那样,旧的片段正在调用回调方法.所以我所做的是将我的asynctask保存在另一个名为"Info"的类中的变量中,并在创建视图中我这样做:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        list=(PullToRefreshListView)v1.findViewById(R.id.listapull);
        adapterList=new ListViewAdapter(secciones, mContext);
        PullRefreshTasktask task = Info.getAsyncTask();
        asyncRefresh =  task;
        asyncRefresh.setUpdatePull2RefreshListener(this);
    }
Run Code Online (Sandbox Code Playgroud)

这样我就可以在我的片段中设置片段的新引用

setUpdatePull2RefreshListener()

运行asynctask的方法

android

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

AndroidRuntimeException"从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志"

我在listview中创建了多个布局,但是当我点击i得到一个AndroidRuntimeException时"从Activity上下文调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志.这真的是你想要的吗?"

我补充说

Intent.FLAG_ACTIVITY_NEW_TASK

我的意图,但我收到同样的消息!=(

      @Override
            public View getView(int position, View convertView, ViewGroup parent) {

                    retval=LayoutInflater.from(getApplicationContext()).inflate(R.layout.layout_anuncio, null);
                    ImageView image=(ImageView) retval.findViewById(R.id.imageAD);
                    LoadAds loadAds= new CargaAnuncios();
                    clickUrl = LoadAds.cargaImagenAnuncio(image, mContext, GlobalInfo.ANUNCIO_CARRIL_PORTADA);
                    image.setOnClickListener(new OnClickListener(){

                        @Override
                        public void onClick(View view) {
                            Bundle bundle=new Bundle();
                            bundle.putString("url", clickUrl);
                            Intent intent =new Intent(mContext,CustomWebView.class);
                            intent.putExtras(bundle);
                            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                            mContext.startActivity(intent);
                        }

                    });
            return retval;
        }
Run Code Online (Sandbox Code Playgroud)

android runtime-error

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

资源条目已经定义

我正在尝试添加一个splash.png图像,但是当我编译它时会说:

Error:error: Resource entry splash is already defined.
res\drawable-hdpi-v4\splash.jpg:0: Originally defined here.
Error:error: Resource entry splash is already defined.
res\drawable-xhdpi-v4\splash.jpg:0: Originally defined here.
Error:error: Resource entry splash is already defined.
res\drawable-xxhdpi-v4\splash.jpg:0: Originally defined here.
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
C:\Users\German\AppData\Local\Android\android-sdk\build-tools\19.1.0\aapt.exe package -f --no-    crunch -I C:\Users\German\AppData\Local\Android\android-sdk\platforms\android-12\android.jar -M     C:\Users\German\AndroidStudioProjects\BASEUNODISCO\app\build\intermediates\manifests\full\debug\AndroidManifest.xml -S     C:\Users\German\AndroidStudioProjects\BASEUNODISCO\app\build\intermediates\res\debug -A C:\Users\German\AndroidStudioProjects\BASEUNODISCO\app\build\intermediates\assets\debug -m -J C:\Users\German\AndroidStudioProjects\BASEUNODISCO\app\build\generated\source\r\debug -F C:\Users\German\AndroidStudioProjects\BASEUNODISCO\app\build\intermediates\res\resources-debug.ap_ --debug-mode --custom-package disepro.baseunodisco -0 apk --output-text-symbols C:\Users\German\AndroidStudioProjects\BASEUNODISCO\app\build\intermediates\symbols\debug
Error Code:
1
Output:
res\drawable-hdpi-v4\splash.png:0: error: Resource entry splash is …
Run Code Online (Sandbox Code Playgroud)

java android android-resources android-drawable

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

多个错误如果那么,否则如果

我是ASP开发的新手.

这是我的源代码:

ident = request.Form("ident")
pass=request.Form("passe")
response.write(ident)
response.write(pass)

if pass= "m" and ident="m" Then 
    Session("connect")="membre"
    response.redirect("../")
else if pass= "g" and ident="g" Then 
        Session("connect")="gest"
        response.redirect("../")
else if pass= "a" and ident="a" Then
        Session("connect")="admin"
        response.redirect("../")
else    
    response.redirect("ident.asp")
End If
Run Code Online (Sandbox Code Playgroud)

但是,有了这段代码,我得到了这个:

"Erreur de编译Microsoft VBScript错误'800a0401'

Fin d'instruction参加

/iisHelp/common/500-100.asp,第11行

Dim objASPError,blnErrorWritten,strServername,strServerIP,strRemoteIP Dim strMethod,lngPos,datNow,strQueryString,strURL ------------------------------ -------------------------------------------- ^

Erreur de编译Microsoft VBScript错误'800a03f6'

'结束'出席

/groupe2/stage23/TP3/verif_id.asp,第18行"

vbscript asp-classic

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

TabHost上的相对布局?

我有一个Android UI问题,我不太清楚如何解决.我有一个tabhost,上面有几个不同的项目.在一种情况下,将动态添加添加到scrollView(位于其中一个选项卡上)的字段.我在屏幕底部有一个按钮,使用相对布局.问题是scrollview(和其他选项卡的线性布局)延伸到底部按钮之外.这导致屏幕上的最终字段是不可查看的,因为它被按钮隐藏.这是问题的屏幕截图以及我的布局的xml.任何帮助是极大的赞赏.在此输入图像描述

主要布局:

<?xml version="1.0" encoding="utf-8"?>

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background_nologo" >

<LinearLayout 
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5dp" >

<TabWidget android:id="@android:id/tabs"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true" />

<View android:layout_width="fill_parent"
    android:layout_height="2dip"/>

<FrameLayout
    android:id="@android:id/tabcontent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<include layout="@layout/mc_message_send_tab_details"/>

<!-- Scrollview for message data -->
<ScrollView android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:scrollbars="vertical"
    android:id="@+id/formTab">

<!-- Form fields are automatically 
    created in McMessageViewActivity. -->
<LinearLayout android:id="@+id/formLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <View android:layout_width="fill_parent"
    android:layout_height="5dip"/>

</LinearLayout>
</ScrollView>

</FrameLayout>

</LinearLayout>

<RelativeLayout android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">      
<LinearLayout android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_alignParentBottom="true" >
    <Button android:text="Send" 
        android:id="@+id/btnSend" android:layout_weight="1" …
Run Code Online (Sandbox Code Playgroud)

android

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

Android ksoap2 Web服务已弃用错误

我想使用kso​​ap2作为Android的SOAP Web服务.

我使用http://www.helloandroid.com/tutorials/using-ksoap2-android-and-parsing-output-data这个例子开始使用kso​​ap2.导入最新文件并粘贴此代码时

     private static final String SOAP_ACTION = "http://footballpool.dataaccess.eu/data/TopGoalScorers";
 private static final String NAMESPACE = "http://footballpool.dataaccess.eu";
 private static final String URL = "http://footballpool.dataaccess.eu/data/info.wso?WSDL";


    public SoapObject soap(String METHOD_NAME, String SOAP_ACTION, String NAMESPACE, String URL) throws IOException, XmlPullParserException {
   SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); //set up request
   request.addProperty("iTopN", "5"); //variable name, value. I got the variable name, from the wsdl file!
   SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); //put all required data into a soap envelope
   envelope.setOutputSoapObject(request);  //prepare request
   AndroidHttpTransport …
Run Code Online (Sandbox Code Playgroud)

android soap web-services

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

解析XML的最佳实践

我的应用程序将解析通过HTTP接收的XML.据我所知,解析XML有三种主要方式:

  • SAX
  • DOM
  • XmlPullParser

据说SAX是其中速度最快的,而DOM不适合大型XML文档.但就解析而言,什么是大型XML文档?对于以下内容,推荐的解析器是什么?

  • XML文档大小在1-5 kB之间
  • 轻松遍历文档,即我不仅需要知道当前元素,还需要知道父元素.

xml parsing android

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

Android库项目无法启动

我一直在尝试运行一个项目,但是有一个弹出窗口,上面写着"Android库项目无法启动".

现在,我的项目需要API 7,我已经在Android SDK Manager中安装了它.在Properties - > Android - > Target build中,我选择Android 4.1.2.我还将这些行添加到Android Manifest: <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="7" android:maxSdkVersion="16"/>

但是,当我运行我的项目时,会显示相同的弹出消息.有人,请帮帮我.谢谢!

api sdk android

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

银行帐户类.如何使其更强大/更有效?(OOP)

我想在不使用全局变量的情况下使这个程序工作.基本上,如果该人退出并最终以负数计算,他们将被罚款为5.每次交易中的减号也将导致5的罚款.

假设只有2个帐户,该程序似乎工作正常:

account1 = Bankaccount(20)
account2 = Bankaccount(5)
Run Code Online (Sandbox Code Playgroud)

但这就是它的局限性.我如何允许无限帐户?所以我不会受限于两个全局变量.我希望这是有道理的,假设我必须改变撤销功能和get_fees,但我是OOP的新手所以我被困住了.谢谢你的帮助!

pen = 0
pen2 = 0


class BankAccount:


 def __init__(self, initial_balance):
        """Creates an account with the given balance."""
        self.money = initial_balance

    def deposit(self, amount):
        """Deposits the amount into the account."""
        self.money += amount
        return self.money

    def withdraw(self, amount):
        """
        Withdraws the amount from the account.  Each withdrawal resulting in a
        negative balance also deducts a penalty fee of 5 dollars from the balance.
        """
        global pen, pen2
        penalty = 5

        if …
Run Code Online (Sandbox Code Playgroud)

python oop python-2.7

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

HTML编码逃避问题

我正在做一个Android应用程序,我在其中查询web服务,获取一个JsonObject,并在获得所需的字符串后,我找到如下字符串:est& aacute;

我试过这两个:

StringEscapeUtils.escapeHTML4(text);
Run Code Online (Sandbox Code Playgroud)

结果是将& aacute转换为& amp; amp; amp; amp; amp; amp; amp; amp; amp;

Html.escapeHtml(test));
Run Code Online (Sandbox Code Playgroud)

什么也没做.

任何想法如何将其转化á为相应的角色?

html encoding escaping

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

无法解析符号'onClickListener'

当尝试使用按钮打开新活动时按下即可获得错误"无法解析符号'onclickListener'"并且无法解析构造函数意图.

我的代码是:

package uk.co.ryanmoss.computingrevision;

    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    import android.view.View.OnClickListener;


    public class MainActivity extends Activity{




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

            Button ASButton = (Button) findViewById(R.id.asButton);
            ASButton.setOnClickListener(new View.onClickListener() {
                public void onClick(View v) {
                    Intent intent = new Intent(this, ASLevelActivity.class);
                    startActivity(intent);
                }
            });



        }



        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.menu_main, menu);
            return …
Run Code Online (Sandbox Code Playgroud)

android

0
推荐指数
2
解决办法
3万
查看次数