2017-12-01 8 views
-2

Ich habe eine "activityCatalog", die sein eigenes Layout hat und in diesem erscheint ein anderes Layout, das ein Listenelement Layout ist. Im Listenelementlayout gibt es Textansichten und eine Schaltfläche. Ich versuche, diese Schaltfläche aus dem "activityCatalog" zu verwenden und zu verwenden, um eine Textansicht im Listenelement zu ändern, aber ich bekomme eine Nullzeigerausnahme zurück.Ändern Sie Text in Textansicht in einem anderen Layout enthalten

Irgendwelche Ideen? Frag mich jede Frage

Der Adapter: public class ProductCursorAdapter erweitert Cursor {

public ProductCursorAdapter(Context context, Cursor c) { 
    super(context, c, 0); 
} 

@Override 
public View newView(Context context, Cursor cursor, ViewGroup parent) { 

    return LayoutInflater.from(context).inflate(R.layout.list_item, parent,false); 
} 


@Override 
public void bindView(View view, Context context, Cursor cursor) { 

    TextView nameTextView = (TextView) view.findViewById(R.id.name); 
    TextView priceTextView = (TextView) view.findViewById(R.id.price); 
    TextView quantityTextView = (TextView) view.findViewById(R.id.quantity); 
    TextView idTextView = (TextView) view.findViewById(R.id.Id_View); 

    // Find the columns of pet attributes that we're interested in 
    int nameColumnIndex = cursor.getColumnIndex(ProductEntry.COLUMN_NAME); 
    int priceColumnIndex = cursor.getColumnIndex(ProductEntry.COLUMN_PRICE); 
    int quantityColumnIndex = cursor.getColumnIndex(ProductEntry.COLUMN_QUANTITY); 
    int idColumnIndex = cursor.getColumnIndex(ProductEntry._ID); 

    // Read the pet attributes from the Cursor for the current pet 
    String Name = cursor.getString(nameColumnIndex); 
    String Price = cursor.getString(priceColumnIndex); 
    String quantity = cursor.getString(quantityColumnIndex); 
    String id = cursor.getString(idColumnIndex); 

    // Update the TextViews with the attributes for the current pet 
    nameTextView.setText(Name); 
    priceTextView.setText(Price); 
    quantityTextView.setText(quantity); 
    idTextView.setText(id); 
} 

} 
+0

Sie nicht ein Listview-Artikel wie diese zugreifen können. Tun Sie es in Adapter. – ADM

+0

posten Sie Ihren vollständigen Code und fragen Sie in klar – Raja

+0

Ich habe es mit einem Adapter gemacht, aber ich weiß nicht genau auf die Schaltfläche zugreifen .. –

Antwort

0

Sie können nicht ein Listview-Objekt nutzen, wie this.You müssen Adapter getView() tun.

public void bindView(View view, Context context, Cursor cursor) { 
Button button = (Button) view.findViewById(R.id.button); 
button.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     //... 
    } 
}); 

}

+0

danke !! Ich bekomme ein paar Fehler, aber ich werde versuchen, es zu beheben. Danke, dass du mir den Hauptweg gegeben hast, es zu tun! :) –

+0

Verwenden Sie jetzt. Holen Sie sich den Button in Ihrer bindView(). Viel Glück, danke. – ADM

+0

ich verstehe jetzt, danke dir !! –

Verwandte Themen