0

インテントを渡したい Tabbed Activity があります。いくつかのパラメーターを渡そうとしていますが、これはインテントを渡していません。onClickListener で現在のタブを設定しています。私のコードは以下のとおりです。

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@SuppressLint("InlinedApi")
private void displayEvacRouteTable(){
    AsyncClass ac = new AsyncClass(EvacRouteTableActivity.this);
    ac.execute();
    List<String> evacRouteList = new ArrayList<String>(DALController.sharedInstance().getAllRouteNames());
    // get a reference for the TableLayout
    TableLayout ll = (TableLayout) findViewById(R.id.TableLayout01);
    for (String routeName : evacRouteList){
         // create a new TableRow
        TableRow row = new TableRow(this);
        // create a new TextView
        TextView destNameTextView = new TextView(this);


        String evacRouteName = " " + routeName;
        SpannableString evacRouteSpanString = new SpannableString(evacRouteName);
        evacRouteSpanString.setSpan(new UnderlineSpan(), 0, evacRouteName.length(), 0);
        destNameTextView.setText(evacRouteSpanString);
        destNameTextView.setTextColor(Color.BLUE);
        destNameTextView.setTextSize(20);
        destNameTextView.setHeight(55);
        Linkify.addLinks(evacRouteSpanString, Linkify.ALL);
        final Intent i = new Intent(EvacRouteTableActivity.this, MapViewActivity.class);
        Bundle b = new Bundle();
        b.putString("evacObject", routeName);
        i.putExtras(b);


        destNameTextView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                AsyncClass ac = new AsyncClass(EvacRouteTableActivity.this);
                ac.execute();
                @SuppressWarnings("deprecation")
                TabActivity ta = (TabActivity) EvacRouteTableActivity.this.getParent();
                ta.getTabHost().setCurrentTab(4);

            }
        });
        destNameTextView.setBackgroundResource(R.drawable.cell_shape);
        destNameTextView.setLayoutParams(new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));



        row.addView(destNameTextView);

        ll.addView(row,new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    }   


}

インテントを受け取るために使用しようとしているコードは次のとおりです。

    String fuelStopBundle = getIntent().getExtras();
    if (fuelStopBundle != null){
        evacName = fuelStopBundle.getString("evacObject");
4

1 に答える 1

0

これはあなたを助けるかもしれません.intentを介して文字列を渡す代わりに、静的変数を次のように使用します.

あなたの合格クラス

     class EvacRouteTableActivity extends TabActivity{

    public static String routeName="";

    /**** write your code here****/
    /****change the value of routeName string as per your desire****/

    }

あなたの受信クラス、

class MapViewActivity extends Activity{

        /**** write your code here****/
       //access routeName string as below
         String recieved_string= EvacRouteTableActivity.routeName;

        }

これに関して問題がある場合はお知らせください。

于 2013-06-27T14:26:39.527 に答える