相关疑难解决方法(0)

在活动之间传递自定义对象?

如何在android中的活动之间传递自定义对象?我知道捆绑包但我似乎无法在其中看到任何功能.有人能告诉我一个很好的例子吗?

java android

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

如何在活动之间进行沟通?

我有3个按钮.按钮A,B和C.按钮A位于Fragment中.它开始意图(活动).在新活动按钮B和C驻留.按钮B表示"新",按钮C表示"确定".

我想要做的是点击按钮B("新")之后意图应该按住该按钮,直到用户点击按钮C("OK"),其中活动应该自行销毁并返回到现在有一​​个新按钮的片段叫("新").

有什么简单的方法可以做到这一点?如果我希望应用程序记住新创建的按钮,以便在onDestroy上不丢失,我应该用sqlite保存吗?

我不是很熟悉Android,所以希望有人可以用外行术语来表达或者说一个例子.

android communication android-activity

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

Android Intent:-Use Intent从活动传递类对象

可能重复:
如何使用Intents将对象从一个Android Activity发送到另一个?

当一个Activity调用另一个Activity时,我想将一个类对象从一个Activity传递给另一个.我试图用Intent.putExtra(name, value)它制作,但后来我没有Intent.getExtra(name)方法.有许多类似的方法getStringExtra(name),getDataExtra(name)依此类推,但我在其中放入的值putExtra是一个类对象,它具有很多不同的值,如String,Data和int.如何通过该课程?

android android-intent

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

通过Intent在类之间发送变量

我在使用Intent导航屏幕时遇到问题.我想发送一个变量并在其他类中使用它.

我正在使用一个方法,该方法接受变量,但我不知道如何将其与意图发送到新屏幕,这将使用它来做一些事情.

主类调用metod:

private void pantallaDetalles(final int identificador)
{
     startActivityForResult(new Intent(this,MostrarDetalles.class),REQST_CODE);
}
Run Code Online (Sandbox Code Playgroud)

MostrarDetalles.class是*.java,它将获取变量.我这样开头:

public class MostrarDetalles extends Activity {

    SQLiteDatabase db;

    public void onCreate(Bundle savedInstanceState)
        {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.detalles);


         //more code...


         Cursor c = db.rawQuery("SELECT * FROM table WHERE _id="+ identificador, null);

        }
Run Code Online (Sandbox Code Playgroud)

你看到吗?我在说这个.我不知道如何通过Intent将"identify"变量从主类发送到第二类.

你能帮帮我吗?非常感谢你的建议.

JMasia.

variables android class android-intent

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

如何从另一个活动中获取编辑文本值作为一个活动中的字符串值?

如何将一个活动的edittext值提取到另一个活动的字符串中?

android

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

在Java中传递引用

我有这个纸牌游戏,我将所有玩家存储在一个List.为了找出我想与谁一起行动的玩家,每个玩家都有一个Card(我可以得到卡片名称),a name(我可以得到玩家的名字),但每个玩家都有一个独特的ID.

现在,在我的onCreate()方法开始时,我找到并将列表的播放器分配给播放器Player clairvoyant:

public void initializeCharacters() {
    for (Player player : players) {
        if (player.getCardName().equals("Clairvoyant")) {
            clairvoyant = player;
        }
}
Run Code Online (Sandbox Code Playgroud)

游戏在夜晚和白天之间切换.透视力的转折是在夜间,我用一个开关来确定何时轮到谁.

现在,在开始千里眼之前,我会检查他是否还活着,在否定的情况下,我只是跳过他的回合:

case 2:
                    clairvoyant(); // Clairvoyant's turn
                    Toast.makeText(Game.this, String.valueOf(clairvoyant.getLifeStatus()), Toast.LENGTH_SHORT).show();
                    if(clairvoyant.getLifeStatus()) {
                    /* --- Let him choose ---*/
                        Intent intent = new Intent(this, ListPlayersClairvoyant.class);
                        Bundle bundle = new Bundle();
                        bundle.putSerializable("PLAYERS", (Serializable) players);
                        intent.putExtras(bundle);
                        startActivityForResult(intent, REQUEST_CLAIRVOYANT);
                    /* --------------------- */
                    }
                    nightInsideCounter++;
                    if(medium == null) {
                        nightInsideCounter++;
                    } …
Run Code Online (Sandbox Code Playgroud)

java android

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

了解Dagger 2中的范围

我在Dagger 2中有与范围相关的错误,我试图理解如何解决它.

我有一个CompaniesActivity显示公司.当用户选择项目时,将显示所选公司的员工EmployeesActivity.当用户选择员工时,她的详细信息显示在EmployeeDetailActivity.

class Company {
    List<Employee> employees;
}
Run Code Online (Sandbox Code Playgroud)

CompaniesViewModel包含公司和选定的公司(或null):

class CompaniesViewModel {
    List<Company> companies;
    Company selected;
}
Run Code Online (Sandbox Code Playgroud)

CompaniesActivity提到CompaniesViewModel:

class CompaniesActivity extends Activity {

    @Inject
    CompaniesViewModel viewModel;

    @Override
    protected void onCreate(Bundle b) {
        //more stuff
        getComponent().inject(this);
        showCompanies(viewModel.companies);
    }

    //more stuff

    private onCompanySelected(Company company) {
        viewModel.selected = company;
        startActivity(new Intent(this, EmployeesActivity.class));
    }

}
Run Code Online (Sandbox Code Playgroud)

EmployeesViewModel包含员工和选定的员工(或null):

class EmployeesViewModel {
    List<Employee> employees;
    Employee selected;
}
Run Code Online (Sandbox Code Playgroud)

EmployeesActivity提到 …

android dependency-injection dagger-2

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

Intent.putExtras大小限制?

我试图通过Intent.putExtras这样的方式将数据从一个活动传递到另一个活动:

private ArrayList<HashMap<String, String>> mGroups = new ArrayList<HashMap<String, String>>();
private ArrayList<HashMap<String, String>> mUsers = new ArrayList<HashMap<String, String>>();
...

Bundle data = new Bundle();
data.putInt("mode", mode);
data.putSerializable("groups", (Serializable) mGroups);
data.putSerializable("users", (Serializable) mUsers);
data.putInt("current_class", mCurrentClassId);
data.putInt("current_user", mCurrentUserId);

Intent intent = new Intent(ctx, ChildActivity.class);
intent.putExtras(data);
ctx.startActivityForResult(intent, 0);
Run Code Online (Sandbox Code Playgroud)

mUsers是一个HashMap<String,String>包含用户数据的列表,包括Base64编码的照片,此列表中的字符串大小总和约为500Kb

startActivityForResult用黑屏调用挂起几分钟然后我得到ANR错误.onCreate根本没有调用子活动.

如果我不在mUsers中添加大字符串(没有Base64编码的照片) - 工作得很好.

请帮忙.

java android android-intent android-3.0-honeycomb

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

将自定义对象从一个Activity传递到另一个Parcelable vs Bundle

我想将一个自定义Object从一个活动传递给另一个活动,Object包含一个String和一个另一个自定义Object的List,它包含一个字符串数组和一个int数组.我已经阅读了 /sf/answers/149881651/,但后来我找到了这个答案/sf/answers/548959141/.使用Bundle或Parcelable哪个更好?有什么不同?我什么时候应该使用它?
谢谢你的回复,

android android-intent android-activity

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

在其他类中获取变量

我需要inString在其他课程中获得变量.我怎样才能做到这一点?

public class main {
    public static StringBuffer inString;


    public static void main(String[] args) {
        inString = new StringBuffer("Our aim is to make a 15 realistic game, where grinding powerlines and doing a tailwhip isn't easy, like in the real world. A game in which you will feel like you're actual riding. A game in which creativity and beauty are combined. ");
        inString = new StringBuffer(inString.toString().replaceAll(" +", " "));
        }
}
Run Code Online (Sandbox Code Playgroud)

所以我尝试System.out.println(main.inString);在我的Textcl.class中使用,但得到null.

java class

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