자바 파일 : 화면 변수 문제 ~ 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] 삭제
몇 마디 만하겠습니다