Android将字符串传递给另一个活动

时间:2014-02-21 12:45:28

标签: java android sqlite

我可以问一下是否有人知道如何将从一个活动输入的数据传递给另一个活动?传递给该活动的字符串将与Android手机数据库中的图像进行比较..

以下是代码先生:

AlphabetConversion.java

package com.mobilebasedsignlanguage;

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


public class AlphabetConversionMenu extends Activity {

    EditText et_conv;

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

        Button alphaConv = (Button)findViewById(R.id.btn_alphaconv);
        et_conv = (EditText)findViewById(R.id.et_convtxt);

        alphaConv.setOnClickListener(new OnClickListener() {        
            @Override
            public void onClick(View arg0) {
                String checkWord = et_conv.getText().toString();
                Bundle word = new Bundle();
                word.putString("key", checkWord);
                Intent a = new Intent(AlphabetConversionMenu.this, AlphabetCompareClass.class);
                a.putExtras(word);
                startActivity(a);
            }
        });
    }
}

这是第二个活动的java

package com.mobilebasedsignlanguage;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class AlphabetCompareClass extends Activity {

    String get;

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

        Bundle gotWord = getIntent().getExtras();
        get = gotWord.getString("key");
        TextView Word = (TextView)findViewById(R.id.textView1);
        Word.setText(get);

        for(int x = 0; x > gotWord.getString("key").length(); x++){
            //if(gotWord.getString("key").charAt(0) == "SELECT * from " + TABLE_CONTACTS)
            // Get Image from the Database
            // Set it on Image View
            // set timer 2 secs 
         }
    };

}

第二项活动中的评论我认为我不知道如何编码。真的需要有人帮忙。非常感谢你。

5 个答案:

答案 0 :(得分:1)

您是否尝试保存共享偏好设置的信息?

允许您保存“键值”。

http://developer.android.com/reference/android/content/SharedPreferences.html

答案 1 :(得分:1)

首先,你应该把它放在第一个活动的附加内容中:

Intent intent = new Intent(this, AlphabetCompareClass.class);
intent.putExtra("STRING_KEY", yourString);

在第二项活动中,您可以从额外活动中获取它:

String yourString = getIntent().getExtras().getString("STRING_KEY");

或者您可以使用共享首选项来存储信息。如果你应该保存多个活动变化的信息,那就更方便了。

答案 2 :(得分:1)

在AlphabetConversion.java上试试

@Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        String checkWord = et_conv.getText().toString();           
        Intent a = new Intent(AlphabetConversionMenu.this, AlphabetCompareClass.class);
        a.putExtra("key",checkWord);
        a.putExtras(word);
        startActivity(a);
    }

和第二项活动的onCreate

Bundle b;
b = this.getIntent().getExtras();
    mssg = b.getString("key");

答案 3 :(得分:1)

Select语句将返回结果集对象。如果要将其与特定列进行比较,则仅获取列名称。要比较字符串对象,可以使用String.compare方法或简单==就足够了。

答案 4 :(得分:0)

在你的第一个活动电话中:

Intent a = new Intent(AlphabetConversionMenu.this, AlphabetCompareClass.class);
a.putExtras("key", checkWord);
startActivity(a);

在第二个活动中获得这样的价值

 get =  getIntent().getStringExtra("key","");  // here if no extra found then default "" return.