Android:不确定代码功能?

时间:2014-04-03 12:35:00

标签: android listview android-intent

我不确定下面的代码行是做什么的?

int convertedNumber = getIntent().getIntExtra("convertedNumber", 0);

我认为它是从另一个活动获得int转换的数字?但是,如何在当前活动的列表视图等中使用此数字呢?

当前课程:

public class DisplayTimesTable extends Activity {
    // set up vars
    TextView trace;
    ListView listView;

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

        // setting equal to text layout View
        setContentView(R.layout.display);

        //initialise vars
        initialiseVars();

        // This declares and int variable, assigns it an int value from the calling Intent if its not there it is defaulted to 0
        int convertedNumber = getIntent().getIntExtra("convertedNumber", 0);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);

        int result = 0;
        // loop to give list view
        for (int i = 1; i <= convertedNumber; ++i)

            adapter.add(convertedNumber + "x" + i + "=" + result);

        listView.setAdapter(adapter);

    }

    /**
     * method to initialise all of the buttons, textviews etc used to clean up
     * the onCreate.
     */
    private void initialiseVars() {
        // Setting up (initialising) all the buttons text views etc from the xml
        trace = (TextView) findViewById(R.id.tvTrace);
        listView = (ListView) findViewById(R.id.lvTables);

    }

}

4 个答案:

答案 0 :(得分:0)

int convertedNumber // this is declaring an int variable

= // this is an assignment operator

getIntent() // this gets the calling Activity which is the Activity that started this Intent

getIntExtra("convertedNumber",0) // this is getting an integer from the calling activity, if it has no value it is set to 0 the default

所以

//这个声明和int变量,如果它没有默认为0,则从调用的Intent中赋予一个int值

int convertedNumber = getIntent().getIntExtra("convertedNumber",0);

答案 1 :(得分:0)

当你打开一个Acitivty时,你可以传递一些数据(称为extras)(可以是一个int,float或一个对象),用这行你读取额外名为&#34; convertedNumber&#34;如果存在则为0,如果未找到此名称,则为0。 (请记住,当你启动活动时,你应该使用名称!)..结果将被插入变量。

毕竟你将拥有一个整数,可能意味着一切,你可以在任何地方使用它...在ListView,edittext,TextView等。

意图:http://developer.android.com/reference/android/content/Intent.html


你说的例子

int value = getIntent().getIntExtra("convertedNumber", 0);

ListView listView = (ListView) findViewById(R.id.listview);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);

for (int i = 1; i <= value; ++i)
    adapter.add(value + "x" + i);

listView.setAdapter(adapter);

它将输出一个列表:

convertedNumberx1
convertedNumberx2
convertedNumberx3
convertedNumberx4
convertedNumberxconvertedNumber

答案 2 :(得分:0)

你是对的,它从另一个活动获得一个带有“convertedNumber”键的int。如果未找到键“convertedNumber”,则将0分配给变量convertedNumber。

至于问题的其他部分,请查看文档中的listView。

答案 3 :(得分:0)

它将包含在getIntextra中传递的值。

Intent intent = new Intent(myActivity.this, newClass.class); 
intent.putExtra("selectedItem", info.id); 
this.startActivity(intent); 

目标活动将包含

long iSelectedItem = intent.getIntExtra("selectedItem", -1);

和iSelectedItem的值设置为在info.id中传递的内容;