1

我是安卓新手。。

我面临意图问题..

我的问题是...我想将用户选择的值从一个活动的字符串数组列表传递给另一个活动...这些值是字符串..通过 JSON 从数据库获取。并且这些值存储在一个数组列表中。

现在我需要将值从一个活动传递到另一个活动..通过使用意图..

      lvForDialog = (ListView) viewList.findViewById(R.id.List_view);
        ArrayAdapter<String> adapter = (new ArrayAdapter<String>(Nexttopic.this, R.layout.row_topic, R.id.child_row,tnamelist));
        lvForDialog.setAdapter(adapter);        
        lvForDialog.setOnItemClickListener(new OnItemClickListener()
    {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position,long id)        
          {            
        Intent intent = new Intent(Nexttopic.this,Question.class);     
    intent.putExtra(TAG_TOPICNAME, tname);

我想将其传递TAG_TOPICNAME给另一个活动。用户选择哪个主题名称我想传递...

这该怎么做?

多谢..

4

4 回答 4

3

试试这个 :

i.putExtra("Name", tname );
startActivity(i);

在您的第一个活动中,然后您可以将下面的代码添加到您的第二个活动并获取您的数据。

Intent intent = getIntent();
String Name = intent.getExtras().getString("Name");

编辑:以此为例在 onitemclick 侦听器中获取所选项目

@Override public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3)
{ 
    Cursor GettName = (Cursor)viewList.getItemAtPosition(position);//Get a Cursor from the selected position to access the selected Item
    String tname = GettName.getString(GettName.getColumnIndex(CustomerDBAdapter.KEY_TNAME)); // get approporiate String from that cursor
    i.putExtra("Name", tname );
    startActivity(i);
}
于 2013-02-06T10:57:40.780 回答
1

您应该在下面几行之后调用startActivity(learnintent);代码中缺少的内容

Intent learnintent = new Intent(Nexttopic.this,Question.class);     
learnintent.putExtra(TAG_TOPICNAME, tname);

我希望你TAG_TOPICNAME在使用它之前也定义了常量。

然后在Question活动中执行以下操作来访问该值。

String topicName = intent.getIntent().getStringExtra(TAG_TOPICNAME);

这里TAG_TOPICNAME应该是我在之前的活动中分配的相同值,更好地定义 aclass Constants并将这个 String 常量放在那里,并在两个地方使用它。

于 2013-02-06T10:57:53.203 回答
0

最简单的方法是将会话 ID 传递给您用于启动活动的意图中的注销活动:

Intent intent = new Intent(getBaseContext(), SignoutActivity.class);
intent.putExtra("EXTRA_SESSION_ID", sessionId);
startActivity(intent)

Intents的文档有更多信息(查看标题为“Extras”的部分)。

于 2013-02-06T11:00:05.987 回答
0

您可以使用捆绑包传递值。您可以捆绑它并使用意图传递它。示例代码如下所示......

捆绑 = 新捆绑();data1 = Double.valueOf(myEditText.getText().toString());

    bundle.putDouble("data1", data1);

    Intent intent = new Intent(this, AnotherActivity.class);
    intent.putExtras(bundle);
    startActivity(intent);
    finish();

使其形成意图的示例

 Bundle b = getIntent().getExtras();
        noqs = b.getDouble("data1");
        mTvCat.setText("hhhhhh"+point+noqs);

而且,如果它适合您,那么您可以将其存储在静态变量中。您可以从应用程序的任何位置访问它。

于 2013-02-06T11:00:40.780 回答