我正在制作一个笔记应用程序我想在循环中生成id然后我想用onclicklistener检查id

时间:2014-09-05 09:03:25

标签: android file sdk

我正在尝试制作一个笔记app.in数组我想要id。 我想用onclicklistener检查id。 在onclicklistener中,我创建了一个Intent和一个ExtraString 在这个Extrastring我想写我创建的笔记文件中的内容

这是代码:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.text.method.ScrollingMovementMethod;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;

import java.util.ArrayList;
import java.util.List;


public class NotizOeffnungsMenue extends Activity implements View.OnClickListener {


Button[] NoteListBtn ;
String[] NoteList ;
int [] e;
int i;





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

    LinearLayout l1 = (LinearLayout)findViewById(R.id.layout1);




    NoteListBtn = new Button[fileList().length];
    NoteList = fileList();

    i = 0;




   while (i < fileList().length)
    {


        NoteListBtn[i] = new Button(this);
        NoteListBtn[i].setText(NoteList[i]);
        NoteListBtn[i].setOnClickListener(this);
        l1.addView(NoteListBtn[i]);
        NoteListBtn[i].setId(i);

        e [i] =i;

        i++;



    }






}




@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.notiz_oeffnungs_menue, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

@Override
public void onClick(View view)
{

    if(e[] == view.getId())
    {
        Intent switchintent = new Intent(this,NotizActivity.class);
        String EXTRA_INHALT;

       startActivity(switchintent);
    }

}
}

2 个答案:

答案 0 :(得分:1)

onClick()我建议您使用switch case声明

        switch(v.getId()){
         case R.id.butnid:
           //do something here
                 break;

           case R.id.butnid2:
           //do something here
                 break;

         }

根据需要制作尽可能多的案例。

请记住,使用buttons你应该这样做

         butnid.setOnClickListener(this);
         butnid2.setOnClickListener(this);
          //And so on for ever id u use in on click

答案 1 :(得分:0)

您可以这样使用:

@Override
public void onClick(View view)
{
    Intent switchintent = new Intent(this,NotizActivity.class);
    switchintent.putExtra("EXTRA_INHALT", e[view.getId()]);
    switchintent.putExtra("EXTRA_INHALT2", NoteList[view.getId()]);
    startActivity(switchintent);
}

您可以将其用作职位,而不是比较ID。因为您已将该位置设置为Id。

希望这有帮助。