Android에서 전역 적으로 선언하지 않고 OnCreate에서 OnListItemClick으로 변수를 전달하는 방법은 무엇입니까?

Utkarsh 싱

자바 파일 : 화면 변수 문제 ~ OnListItemClick 메서드에서 필요하지만 커서 작업을 수행하고 값을 tpid에 할당 한 후에 만 ​​필요합니다. 나는 두 가지 방법을 공개적으로 선언했지만 도움이되지 않았다. 또한 별도의 클래스에서 데이터베이스 작업을 수행하려고 시도했지만 OnClick 버튼을 통해 조각 에서이 활동을 호출함에 따라 ListActivity를 새 클래스로 확장 한 후에도 새 클래스를 ListActivity 유형으로 캐스팅 할 수 없다는 오류가 표시됩니다.

package utkarsh.project1;
import android.app.Application;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;


public class ViewActivity extends ListActivity {


    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view);
        SQLiteDatabase db=openOrCreateDatabase("exp",MODE_APPEND,null);
        TableRow tr;
        String q="Select TripID from exp";
        Cursor c=db.rawQuery(q,null);
        String tpid="";
        while(c.moveToNext())
        {
            tpid=c.getString(0)+",";
        }
        db.close();
        String screens[]={tpid};
        ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_expandable_list_item_1,screens);
        setListAdapter(adapter);
    }

    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        if(screens[position].equals("EXIT"))
        {
            finish();
        }
        else
        {
            Toast.makeText(this, "Clicked on: " + screens[position], Toast.LENGTH_SHORT).show();
            String str="utkarsh.project1."+screens[position];
            try
            {
                Class c= Class.forName(str);
                Intent i = new Intent(this,c);
                startActivity(i);
            }
            catch (Exception e)
            {
                Toast.makeText(this,"Screen not yet designed",Toast.LENGTH_SHORT);
            }
        }
    }
}
예 하얏트

당신은 설정할 수 OnClickListener를 , 목록보기에 대신 확장하는 listActivity는 단순히 확장 활동을 , 다음에리스트 뷰 객체 정의 ()에서 onCreate를

ListView listview1 = (ListView) findViewById(R.id.listview1);
listview1.setOnItemClickListener(
        new OnItemClickListener()
        {

            @Override
            public void onItemClick(AdapterView<?> arg0, View view,
                    int position, long id) {
               *//Do whatever you want here* 
            }   
        }       
);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관